CakePHP 3.x:将值插入关联表

时间:2015-10-05 11:49:37

标签: php cakephp associations cakephp-3.0

我正在使用CakePHP 3.x,如何将值插入到关联的表中。

控制器:

$member = TableRegistry::get('Members');
$members = $member->newEntity([
  'associated' => ['MembersRetailers']
]);
if ($this->request->is('post')) {
  $members = $member->newEntity($this->request->data(), [
     'associated' => ['MembersRetailers']
  ]);
  $member->save($members);
}

模型(成员):

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

  $this->table('members');
  $this->displayField('member_id');
  $this->primaryKey('member_id');

  $this->addBehavior('Timestamp');

  $this->hasMany('MembersRetailers', [
    'className' => 'MembersRetailers',
    'foreignKey' => 'member_id',
  ]);
}

查看:

$session = $this->request->session();
$auth_user[] = $session->read('auth');
echo $this->Form->create($members);
// ... some input fields (not related to the question)
echo $this->Form->input('MembersRetailers.retailer_id', [
  'required' => false,
  'value'=>$auth_user[0]['retailer_id'],
  'type' => 'hidden']);
echo $this->Form->button('Create Account', ['class' => 'login-btn btn']);
echo $this->Form->end();

值插入members表中,但不插入members_retailer表格中。在members_retailer中有两个字段member_id和零售商ID retailer_id的值不是问题但零售商表的成员ID是属于成员表的!

0 个答案:

没有答案