这是问题所在:
如何在建立联合条件之前向查询添加限制或偏移等条件?
这是我试过的:
$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 :(得分:0)
你可以clone the object所以你有两个查询构建器,它们是两个独立的实例。
$query_no_union_yet = (clone) $query->select(field list);