:CakePHPの複雑な検索クエリ私は、これらの条件を使用してCakePHPの中のfind()クエリを作成しますか
Find where
MyModel.x = 1 and MyModel.y = 2 OR
MyModel.x = 1 and MyModel.y value does not exist (or is equal to empty string)
誰かが私は、このような検索クエリを構築して行くことができる方法を教えてもらえますか?
:CakePHPの複雑な検索クエリ私は、これらの条件を使用してCakePHPの中のfind()クエリを作成しますか
Find where
MyModel.x = 1 and MyModel.y = 2 OR
MyModel.x = 1 and MyModel.y value does not exist (or is equal to empty string)
誰かが私は、このような検索クエリを構築して行くことができる方法を教えてもらえますか?
私はあなたにいくつかの指針を与えるつもりですが、これは非常に基本的なので、これを行うようにする必要があります。ケーキで
基本的な検索がデフォルトの形で
$this->ModelName->find('all');
これの形態であるSELECT * from model_names
(規則では、複数のテーブル名の単数形のModelName持つことである - model_names
を)ん
条件を追加するには:
$this->ModelName->find('all', array('conditions' => array('ModelName.x' => 1));
を追加および条件に両方
$this->ModelName->find('all', array('conditions' => array(
'ModelName.y is not' => null,
'OR' => array(
'ModelName.x' => 1, 'ModelName.y' => 2
)
));
// where y is not null and (x = 1 or y = 2)
http://book.cakephp.org/1.3/view/1030/Complex-Find-Conditions
を組み合わせること
$this->ModelName->find('all', array('conditions' => array(
'OR' => array(
'ModelName.x' => 1, 'ModelName.y' => 2
)
));
を追加したり、条件に
$this->ModelName->find('all', array('conditions' => array(
'ModelName.x' => 1, 'ModelName.y' => 2
));
(ところで、私はあなたに正確な答えを与えて、ユーザーがあるだろうと確信しているので、ちょうど取りますあなたの参考に私の答え:))
$this->MyModel->find('all', array('conditions' => array(
'OR' => array(
array(
'MyModel.x' => 1,
'MyModel.y' => 1
),
array(
'MyModle.x' => 1,
'OR' => array(
array('MyModel.y' => NULL),
array('MyModel.y' => '')
)
)
)
)));