Laravel, 用union连接多个查询,某个查询为空时会报错,怎么解决?

有 A,B,C三个表,结构完全一致,对他们分别进行查询

$a=DB::table('A')->where('some condition');
$b=DB::table('B')->where('some condition');
$c=DB::table('C')->where('some condition')->union($a)->union($b);

如果 $a 或者 $b 的结果集为空的话,就会报错。
现在想到的解决方法是对 $a->get()和 $b->get() 分别进行判断,不为空才让才union他们,但是实际上表的数量很多,每个都判断太不优雅了。

所以有什么优雅的解决方法吗?

阅读 3.5k
1 个回答
新手上路,请多包涵
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题