Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Да, допустим Ticket это месячный абонемент, а Visit - отдельные посещения и необходимо получить посещения, укладывающиеся в рамки диапазона дат абонемента.
Понятно, что ленивой загрузкой это реализуемо, так как у нас будет объект Ticket со всеми его полями, но хочется именно жадной загрузкой, как альтернатива сырому скл-запросу.
Есть две модели
Ticket
Visit
Между ними в модели Ticket нужно создать отношение один к многим
Они соединяются по полю person_id, имеющемуся в обеих моделях
Но помимо равенства этого поля для связи должны быть выполнены другие условия:
Полe visit_date в модели Visit должно быть между date_from и date_to модели Ticket
Как можно его добавить к отношению
public function visits()
{
return $this->hasMany('App\Visit', 'person_is', 'person_id');
}
То есть я могу написать
return $this->hasMany('App\Visit', 'person_id', 'person_id')->where('visit_date', '2018-03-11');
но как вместо значения подставить поле текущей модели непонятно.
И я даже не знаю, как получить текст запроса этого отношения.
windows 10, юзер - администратор, из папки openserver-а ospanel/domains запускаю команду laravel new mysite.dev и получаю сообщение
[Symfony\Component\Process\Exception\RuntimeException]
A temporary file could not be opened to write the process output: fopen(C:\Users\mainuser\AppData\Local\Temp\sf_proc_0
0.out): failed to open stream: Operation not permitted
хотя другие приложения эту папку используют без проблем.