在Cake 3.0中保存相关数据时遇到问题。我有一个用户模型,一个用户可以是许多不同的音乐家。我有一个连接表users_musicians。
class UsersTable extends Table {
public function initialize(array $config) {
$this->addBehavior('Timestamp');
$this->belongsToMany('Musicians', [
'joinTable' => 'users_musicians',
]);
$this->belongsTo('Counties', [
'foreignKey' => 'county_id',
'joinType' => 'INNER',
]);
}我正在发布一个新用户,并尝试使用发布的musician_id和保存的新用户的user_id在users_musicians表中保存单个音乐家类型。
public function add() {
$user = $this->Users->newEntity();
if ($this->request->is('post')) {
$user = $this->Users->patchEntity($user, $this->request->data);
$newData = [
'users_musicians' => [
['musician_id' => 10],
]
];
$this->Users->patchEntity($user, $newData);
echo '<br><br><pre>' . print_r($user, true) . '</pre>';
//die();
if ($this->Users->save($user)) {
$this->Flash->success(__('Your details have been saved.'));
return $this->redirect(['action' => 'index']);
}
$this->Flash->error(__('Unable to add your details.'));
}
$this->set('user', $user);
}Users_musicians表结构为: id - int,AI,PK,user_id - int,musician_id - int,created - datetime,updated - datetime
有什么建议吗?
发布于 2015-02-26 11:14:31
在用于belongsToMany关联的CakePHP中,表名应该按字母顺序排列,因此,请将"users_musicians“表名改为"musicians_users”并尝试。
https://stackoverflow.com/questions/28702512
复制相似问题