나는 Yii2 프레임 워크로 API를 만들었습니다. 그러나 내 성명에서 OR 조건을 사용하는 방법을 모르겠습니다.Yii2 쿼리 또는 조건 1 열의 복수 값
예 : BMW 또는 DODGE 브랜드의 차량을 모두 소유하겠습니다.
나는 다음 시도했다 :
$query = Car::getCar($lang)
->where(['or', ['m.brand' => 'BMW'], ['m.brand' => 'DODGE']])
->all();
하지만이 작동하지 않습니다. m.brand에 대해 하나의 값으로 만 작동합니다.
그래서 :
$query = Car::getCar($lang)
->where(['m.brand' => 'BMW'])
->all();
작품 잘.
몇 가지 다른 방법을 시도했지만이 기능이 작동하지 않습니다.
누구든지 내가 뭘 잘못하고 있는지 알아?
편집 는 getCar 방법은 반환 뭔가 같은 :
$query->andWhere(['or', ['m.brand' => 'BMW'], ['m.brand' => 'DODGE']])
정적 메소드'getCar()'가'ActiveQuery' 인스턴스를 반환하는 한 작동합니다. – Bizley
@Bizley getCar이 반환하는 것을 추가했습니다. 나는 그게 문제라고 생각하지 않는다. 왜냐하면 단 하나의 열에 대한 매개 변수가 잘 작동하기 때문이다. –
이것은 이상하다. 작동해야한다. "나는이 일을하지 못한다"는 것은 무엇을 의미합니까? 오류가 있습니까 아니면 예상 결과가 보이지 않습니까? '-> all();을'-> createCommand() -> rawSql;로 바꾸고 출력을 검사하여이 버전을'또는'로 테스트하십시오. – Bizley