Все таки наешл как отфильтровать. Вот код
$query=Napravlenie::find()->joinWith(['pacients' => function ($q) {
$q->where('pacients.dr="1990-02-25"');
}]);
Мне нужно отфильтровать всех кому есть 18 лет.
$yearOfBirth = 18;
$date1 = date((date('Y') - $yearOfBirth - 1) . '-m-d');
$date2 = date((date('Y') - $yearOfBirth) . '-m-d');
$query=Napravlenie::find()->joinWith(['pacients' => function ($q, $date1, $date2) {
$q->where("pacients.dr BETWEEN $date1 AND $date2");
}]);
Функция начинает ругаться на параметры $date1, $date2. Подскажите как правильно это сделать?