每个查询中的条件,CakePHP 2.5.4

Condition in every query, CakePHP 2.5.4

我想问一下,是否有办法(假设在模型 class 中)设置每个查询中必须存在的条件。

示例: 模型 A 的现场很棒。我希望在使用 $this->A->find('all') 时使用 WHERE awesome=1 进行 sql 查询,但我希望每次查找时都使用此条件而不每次都指定它。

据我搜索,指定两个模型之间的关联是可能的

在 cakePHP 中使用条件

$client = $this->Client->find('all', array('conditions' =>array('LastName like' => "%something%")));

AppModel.php 中使用 beforeFind 回调。
您可以修改 $query 参数...

你会想要create a custom Behavior

然后,您想要添加该条件的每个模型都应该利用该行为(通过 $actsAs 变量。

在行为中,您可以添加一个beforeFind()方法。在该方法中,您可以将任何内容添加到 'conditions' 数组。

因此,每个 find() 你 运行 上的模型都会 运行 那 beforeFind(),并在 运行 之前获取添加到它的条件实际发现。