每个查询中的条件,CakePHP 2.5.4


Condition in every query, CakePHP 2.5.4

我想

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

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

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

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

您需要

创建自定义行为。

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

在行为中,可以添加beforeFind()方法。 在该方法中,您可以将所需的任何内容添加到"条件"数组中。

因此,您在模型上运行的每个find()都将运行该beforeFind(),并在运行实际查找之前向其添加条件。

在 cakePHP 中使用条件

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