За последние 24 часа нас посетили 22960 программистов и 1227 роботов. Сейчас ищут 709 программистов ...

Запрос WHERE OR на Yii2

Тема в разделе "Yii", создана пользователем Artur_hopf, 30 ноя 2018.

  1. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    Добрый день. Подскажите почему не отрабатывает запрос orWhere.
    Пишу такой sql запрос в ssms, все отрабатывает:
    PHP:
    1. SELECT Наименование AS name
    2. FROM database
    3. WHERE [Oid] = '1'
    4. OR [Oid] = '2'
    Отрабатывает хорошо, выходит две строки.

    Пишу тоже самое (как мне кажется) в Yii:
    PHP:
    1. $query = new Query;
    2. $query->select('Наименование AS name')
    3. ->from('database')
    4. ->orWhere(['Oid' =>'1', 'Oid' => '2']);
    5. $rows = $query->all();
    6. return $rows;
    Выходит только одна строка, причем последняя.
    PHP:
    1. //debug($rows);
    2.  
    3. (
    4.     [0] => Array
    5.         (
    6.             [name] => test
    7.         )
    8.  
    9. )
    Подскажите что не так делаю?
    --- Добавлено ---
    Написал так, заработало, но все же, нельзя все в одних скобках?:
    PHP:
    1. $query->select('Наименование AS name')
    2. ->from('database')
    3. ->orWhere(['Oid' => '1'])
    4. ->orWhere(['Oid' => '2']);
    5. $rows = $query->all();
    6. return $rows;
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.555
    Симпатии:
    1.754
    Код (Text):
    1.  
    2. $query->where(["or", ["Oid" => 1], ["Oid" => 2]]);
    orWhere немного для другого, почитайте доку внимательнее
     
    Artur_hopf нравится это.
  3. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    @mkramer Спасибо, вроде и так пробовал, но не работало. Теперь работает =)