Задать вопрос
@EvgMul

Как составить запрос between в Yii2?

Здравствуйте. Не получается правильно составить запрос between средствами Yii2.
На данный момент у меня есть вот такой вариант:
$ips = Ip::find()->where("'$userIp' between ip_start and ip_end")->one();

Но он мне не нравится тем, что во where передается строка.
Гугл выдал мне вот такой вариант:
$model = ModelName::find()->where(['between', 'date', "2015-06-21", "2015-06-27" ])->all();

Но этот запрос делает несколько другую операцию.
Мне нужно, чтобы запрос находил запись, которая удовлетворяет условию, чтобы мое значение было в границах 2-х полей.
Второй же запрос находит записи, границы которого указаны для одного поля.
Подскажите пожалуйста, можно ли, и если можно, то как можно составить запрос средствами Yii2?
Ну или хотя бы сделать текущий запрос более безопасным?
Заранее благодарен всем отозвавшимся.
  • Вопрос задан
  • 6251 просмотр
Подписаться 2 Простой Комментировать
Решение пользователя davidnum95 К ответам на вопрос (3)
@davidnum95
$ips = Ip::find()
                ->where(['>', 'ip_start', $userIp])
                ->andWhere(['<', 'ip_end', $userIp])
                ->one();
Ответ написан
Комментировать