【发布时间】:2014-09-29 13:23:08
【问题描述】:
我想知道,是否有办法为每个选择声明不同的 where 子句。
这是我想要做的:我的数据库如下所示:
“可见...”列指示是否要读出相关值。所以如果“visible_mobile”说“0”,我不想读出“mobile”列。
当然,我可以通过执行多个查询来做到这一点,例如:
$userDetails1 = DB::table('user')
->select('mobile', 'id')
->where('user_id', 5)
->where('visible_mobile', 1)
->get();
$userDetails2 = DB::table('user')
->select('date_of_birth', 'id')
->where('user_id', 5)
->where('visible_date_of_birth', 1)
->get();
但我想知道我是否可以只用一个查询来做到这一点?
编辑:我试图得到的输出应该看起来像这样链接:
【问题讨论】:
-
你能给我画一张表(带有列标题),显示你想要的这个组合查询的示例输出吗?
-
我在我的问题中添加了一个示例。
-
你为什么要追求不必要的复杂性?如果设置了标志,为什么不直接询问所有数据并使用它呢? (可以通过多个查询或复杂查询来完成,如果可见为 0,则返回 NULL)
标签: mysql sql laravel query-builder