2015-10-09 29 views
0

在相關表格中的數據我使用一個表:使用PersonMasters UserMasters和準:cakephp3無法插入使用「關聯」方法

$this->hasOne('person_masters', [ 
      'className' => 'person_masters', 
      'foreign_key'=>'user_master_id', 
      'dependent' => true 
     ]); 

但是當我保存的數據只保存在user_masters表中的數據。我也在patchEntity中使用'關聯'方法。但它不是worked..Here是我的代碼用於保存數據:

$user = $this->UserMasters->newEntity(); 
     $user = $this->UserMasters->patchEntity($user, $this->request->data, ['associated' => ['person_masters']]); 

它只是將數據保存到user_masters ..所以我怎麼也保存在cakephp3 person_masters數據? 在此先感謝...

+0

http://book.cakephp.org/3.0/en/views/helpers/form.html#field-naming-conventions – Salines

回答

0

如果person_masters不可訪問,則不會像這樣分配。

_accessible屬性允許您提供屬性映射以及是否可以批量分配屬性。值true和false表示字段是否可以批量分配。

http://book.cakephp.org/3.0/en/orm/entities.html#mass-assignment

也使用表的別名定義關聯。

$this->hasOne('PersonMasters', [ 
     'className' => 'PersonMasters', 
     'foreign_key'=>'user_master_id', 
     'dependent' => true 
    ]); 
+0

我已經在實體分配 '*'= true在PersonMaster.php ..這是我的代碼:class PersonMaster extends Entity {protected protected $ _accessible = [ '*'=> true ];仍然無法保存person_masters表中的數據.. –

+0

您需要在'UserMasters'中訪問它。另請參閱我的答案。 – user3082321

+0

我已經在每個實體中分配了'*'= true,包括UserMasters ...仍然沒有工作.. –