리튬 프레임 워크 / 쿼리를 사용하는 방법
문제
리튬 PHP 프레임 워크로 작업을 시작합니다.'% Test %'또는 'Title'필드에서 '% 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%')
.
교체 방법 및 또는?
감사합니다
해결책
귀하의 질문에 대한 해결책으로 (=) 대신
대신 사용할 수 있습니다.'conditions' => array(
'name' => array(
'=' => array(
'%easy%',
'%test%'
)
)
)
.
이렇게하면 쿼리가 생성됩니다.
WHERE ((`name` IN ('%easy%', '%test%')))
.
또는 두 개의 다른 필드를 사용하여 검색 할 때 사용할 수 있습니다.
'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