2015-01-12 55 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()