在CakePHP函数edit
中,我使用read()
函数:
$this->data = $this->Article->read(null, $id);
它带来$id
的所有字段。现在,我正在尝试调整以在read()
中再提供一个条件,以便仅在用户登录时才能获取文章。
例如:
$this->Article->user_id = $user_id;
$this->Article->id = $id;
$this->Article->read();
显然它需要工作,因为read()
只会带来数据w.r.t. $id
(主键)。
我的问题:
$id
的读取功能?因为它只需要在我的所有控制器中添加一行吗?任何最佳解决方案都会令人感激。
答案 0 :(得分:3)
如果你真的必须这样做,你可以使用OOP技术来覆盖核心方法的工作方式。
只需将Model::read()
方法复制到AppModel
课程,然后进行必要的更改。
答案 1 :(得分:0)
如果您想有条件地进行搜索,则必须使用find()
。另一种选择是仅在条件成立时才读取数据:
$this->Article->id = $id;
if( $this->Article->field( 'user_id' ) == $user_id ) {
$this->Article->read();
}
(read()
自动填充$this->data
。)