Я создаю поиск в yii2.
$q = $_GET['q'];
$dataProvider = new ActiveDataProvider([
'query' => company::find()
->where('name like :name', [':name' => "$q%"])
]);
return $this->render('index', ['dataProvider' => $dataProvider,]);
У меня также есть два свойства даты (действительный платеж от и до):
from_date and to_date
Мне нужно сначала отобразить результат, начиная с того, у кого есть действующий платеж.
Как должен выглядеть запрос, если я хочу сначала отобразить компании с действительным платежом? Все они должны сортироваться по имени ASC ..
У меня есть функция для получения этого значения в модели, но не в запросе:
public function getValidPayment()
{
$today = date("Y-m-d");
return (($this->from_date <= $today) && ($today <= $this->to_date));
}
Это yii2
Спасибо!
Изменить: просто чтобы уточнить, что мне нужно:
- Запрашивать компании по имени (имя, например: имя ')
- приоритет тот, который действителен с и по сегодняшний день (from_date и to_date)
- отображать остальные, для которых нет действительной даты от и до (обе группы в запросе должны сортироваться по имени ASC).
Может, стоит сделать это в 2-х запросах и как-то их объединить?