質問
リチウムPHPフレームワークで作業を始めます。私は「タイトル」フィールドに '%test%'または '%Easy%'を持っている質問を受けるためのクエリを作成しなければなりません。 私はフォローのコードを使ってそれをやろうとしました:
$questions = Questions::find('all', array(
'conditions' => array(
'name' => array(
'like' => array(
'%easy%',
'%test%'
)
)
)
));
.
しかしそれはこのクエリを作る:
SELECT * FROM `questions` AS `Questions` WHERE (`name` LIKE '%easy%' AND `name` LIKE '%test%')
.
交換方法または使う?
ありがとう
解決
あなたの質問に対する解決策として、like
の代わりに(=)で使用できます'conditions' => array(
'name' => array(
'=' => array(
'%easy%',
'%test%'
)
)
)
.
これはクエリを生成します:
WHERE ((`name` IN ('%easy%', '%test%')))
.
または2つの異なるフィールドを使用して検索するときに使用できる:
'conditions' => array(
'OR' => array(
'name' => array(
'=' => array(
'%easy%',
'%test%'
)
),
'name2' => array(
'!=' => array(
'%easy%',
'%test%'
)
)
)
),
.
とこれはクエリを生成します:
WHERE ((`name` IN ('%easy%', '%test%')) OR (`name2` IN ('%easy%', '%test%')))
. 所属していません StackOverflow