我正在使用 Cakephp 1.3 因为我有多个控制器
比如,得分,Stuundets等。
在得分中我有多个具有不同条件的函数现在我需要在过滤函数之前添加一些逻辑以仅显示字段 is_deleted =0
我正在尝试这段代码
$this->Score->Student->conditions='Student.is_deleted=>0';
由于也通过了所有条件,所以所有功能都太耗时了
上面的代码不起作用。我想添加过滤器所以我将在整个项目中工作
任何人都有一个想法
谢谢
我正在使用 Cakephp 1.3 因为我有多个控制器
比如,得分,Stuundets等。
在得分中我有多个具有不同条件的函数现在我需要在过滤函数之前添加一些逻辑以仅显示字段 is_deleted =0
我正在尝试这段代码
$this->Score->Student->conditions='Student.is_deleted=>0';
由于也通过了所有条件,所以所有功能都太耗时了
上面的代码不起作用。我想添加过滤器所以我将在整个项目中工作
任何人都有一个想法
谢谢
您应该在模型中使用beforeFind() 方法Student
,而不是将条件逻辑放入beforeFilter()
方法中。
将此代码写入Student Model
:
function beforeFind($queryData)
{
if (!isset($queryData['conditions'])) {
$queryData['conditions'] = array();
}
$queryData['conditions'][$this->alias.'.is_deleted'] = '0';
return $queryData;
}
这篇文章也可能会帮助您实现同样的目标。
您还可以使用行为回调。
希望它对你有用。