2016-08-24 113 views
0

我有'seller_businesses table and seller_business_categories`表。我使用單一表單將價值保存給賣家和seller_businesses。設置控制器的值到關聯模型befor保存在cakephp中

的形式是像

<?= $this->Form->create() ?> 
<?= $this->Form->input('company_name') ?> 
<?= $this->Form->input('logo', ['type' => 'file']) ?> 
<?= $this->Form->input('seller_business_categories.category_id') ?> 
<?= $this->Form->button('Submit', ['type' => 'submit']) ?> 
<?= $this->Form->end() ?> 

的seller_business_categories有一欄seller_id,我要保存記錄在它的用戶ID。

我知道值控制器保存到表seller_businesses

$seller_business = $this->SellerBusinesses->newEntity(); 
$seller_business->seller_id = $this->Auth->user('id'); 
$this->SellerBusinesses->patchEntity($seller_business, $this->request->data, [ 
    'associated' => ['SellerBusinessCategories'] 
]); 

但如何默認值保存到關聯的模型SellerBusinessCategories控制器內?

回答

0

你需要做的關係

SellerBusinessCategorie.php模型

public function initialize(array $config) 
    { 
     parent::initialize($config); 

     $this->table('seller_business_categories'); 

     $this->hasMany('seller_businesses', [ 
      'foreignKey' => 'seller_id' 
     ]); 
    } 

SellerBusinesses.php模型

public function initialize(array $config) 
     { 
      parent::initialize($config); 
    $this->belongsTo('seller_business_categories', [ 
       'foreignKey' => 'category_id', 
       'joinType' => 'INNER' 
      ]); 

} 

控制器

$seller_business = $this->SellerBusinesses->newEntity(); 
    $seller_business->seller_id = $this->Auth->user('id'); 
    $this->SellerBusinesses->patchEntity($seller_business, $this->request->data]); 

NOW TRY..it works

+0

我想我對你並不清楚。我想爲關聯表設置值。這可能是任何東西(不僅僅是關聯的外鍵)。 '例如:我必須將**標題**設置爲來自控制器的關聯表格 – Gaurav