Я хочу получить две очереди в одну.
$buildings_queue=IngameBuildingQueue::where(DB::raw('UNIX_TIMESTAMP(`start_time` + `duration`)'),'<=',time());
$recruit_queue=IngameRecruitQueue::where(DB::raw('UNIX_TIMESTAMP(`start_time` + `duration`)'),'<=',time());
$queue=$buildings_queue->unionAll($recruit_queue);
dd($queue->toSql());
Laravel бросить:
[ErrorException] Неопределенное свойство: Illuminate \ Database \ Eloquent \ Builder :: $ bindings
но когда я удаляю where()
методы все работает отлично.
Как я могу это исправить?
Согласно руководству пользователя Laravel это должно работать
IngameRecruitQueue::where(DB::raw('UNIX_TIMESTAMP(`start_time` + `duration`)'),'<=',time())->union($buildings_queue)->get();
Также попробуйте записать свои переменные в соглашении camelCase
$ buildings_queue будет $ buildingsQueue
проверьте этот ответ, чтобы узнать больше: https://softwareengineering.stackexchange.com/a/196463
Других решений пока нет …