我有一个表“emailsettings”,它与表“users”有“belongsTo”关系。
emailsettings 具有以下列:
- user_id (INT)
- 已订阅(NULL,0 或 1)
- 时事通讯(NULL,0 或 1)
- 通知(NULL,0 或 1)
我的问题是,我无法更新条目,CakePHP 总是尝试插入新行,即使我这样做了$this->Emailsetting->user_id = 1
。
关联表是否可能需要“id”primaryKey,或者如果我有“user_id”,我可以强制 CakePHP 更新条目(添加 id primaryKey 对我来说没有意义,所以我认为必须有一个我的设置有问题)。
电子邮件设置.php
<?php
class Emailsetting extends AppModel {
public $name = 'Emailsetting';
public $belongsTo = array('User' => array('className' => 'User', 'foreignKey' => 'user_id'));
public $useTable = 'email_settings';
}
用户.php
<?php
class User extends AppModel {
public $name = 'User';
public $hasOne = array('Profile', 'Emailsetting');
}