2015-01-12 44 views
0

我想问一下,如果有办法(比如说在模型类中)设置条件必须在每个查询中。每个查询中的条件,CakePHP 2.5.4

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

至于我搜索两种模式

+0

[定义全局的可能重复条件模型](http://stackoverflow.com/questio ns/17543774 /定义全局条件模型) – ndm

+0

您可以查看这里讨论的想法:[cakephp-and-namedscope-for-dry-conditions](http://www.dereuromark.de/2014/02/15/cakephp-and-namedscope-for-dry-conditions /) – mark

回答

3

使用beforeFind回调使用条件下,它是可能的。
您可以修改$查询参数...

-1

之间的关联指定时,在AppModel.php在CakePHP

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

很抱歉,这不是我正在寻找的答案。这是每个发现的条件,我希望他们全球。 – backman

1

您想要create a custom Behavior

然后,每次你想补充一点,条件应该利用这种行为(通过$actsAs变量模型。

在行为,你可以添加一个beforeFind()方法。在该方法中,可以添加要在“条件”阵列东西。

因此,您在模型运行将运行beforeFind()和运行实际的发现之前被添加到它的条件的每find()