我对 cakephp 模型有疑问,
我想在 var $hasMany 关键字中添加动态条件
我想添加当前 user_id 之类的条件,我在登录后获得了用户 ID。
var $hasMany = array(
"AskComment"=>array('limit'=>3),
'AskStatistic',
'AskContactsLink',
'AskStatistic',
'AskObject',
'AskLikes'
);
我对 cakephp 模型有疑问,
我想在 var $hasMany 关键字中添加动态条件
我想添加当前 user_id 之类的条件,我在登录后获得了用户 ID。
var $hasMany = array(
"AskComment"=>array('limit'=>3),
'AskStatistic',
'AskContactsLink',
'AskStatistic',
'AskObject',
'AskLikes'
);
如果要在模型中添加动态条件,则可能必须将模型关联船动态绑定到控制器的代码中。将以下代码写入您想要在现有/新关联模型上施加一些新条件的控制器方法中。
$this->PrimaryModel->bindModel(array('hasMany' => array(
'AskComment' => array(
'className' => 'AskComment',
'foreignKey' => 'primary_id',
'conditions' => array('AskComment.user_id' => $user_id)
)
)
));
看看这个链接:动态创建和销毁关联。这肯定会帮助您实现同样的目标。
我认为最好将您的关联放在Model的构造函数中。像这样:
/**
* @see Model::__construct
*/
public function __construct($id = false, $table = null, $ds = null) {
public $hasMany = array(
'AskComment' => array(
'className' => 'AskComment',
'foreignKey' => 'primary_id',
'conditions' => array(
'AskComment.user_id' => $user_id,
),
),
);
}