Laravel, как добавить на лету условие для запроса с помощью построителя запросов

Это проблема:

Как добавить условие как ограничение или смещение в запрос до того, как было выполнено условие объединения?

Вот что я попробовал:

$query = DB::table('table_name');
$query->where(condition);
$query->orWhere(condition);

$query_no_union_yet = $query->select(field list);

$query->union(another_table);
$result_without_limit = $query->get();

$query_with_limit = $query_no_union_yet->limit(10);
$query_with_limit->union(another_table);
$result_with_limit = $query_with_limit->get();

Реальный код очень длинный и сложный, но это ситуация.
Когда доберетесь до ряда $query_with_limit->union(another_table); Я добавляю союз к тому, что я сделал раньше, и это не то, что я хочу. Я должен иметь возможность добавлять лимит на первый запрос только после того, как он дал мне результаты, и таким образом получить 2 набора результатов.

Возможно, есть идеи?

0

Решение

Вы могли бы клонировать объект Таким образом, у вас есть два построителя запросов, которые являются двумя отдельными экземплярами.

$query_no_union_yet = (clone) $query->select(field list);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]