我有一个数据库研究要做。并非总是我会使用所有参数。用户可能想要研究名称,而不是地址或其他方式。
我尝试使用高级的 wheres甚至unions,但似乎都没有。他们都给我一个 SQL 错误“一般错误:1221 UNION 和 ORDER BY 的使用不正确”。
这是我尝试过的一段代码
$city_name = ($city_name != null) ? DB::table('cities')->where('name', 'LIKE', "%$city_name%") : DB::table('cities');
$state = ($state_id != '--') ? DB::table('cities')->where('state_id', '=', $state_id) : DB::table('cities');
$cities = DB::table('cities')->union($city_name)->union($state)->orderBy('name')->get();
但它给了我上述错误。
我真正想做的是动态地选择我在查询中输入的参数,甚至“即时”组装它。有谁知道该怎么做?
如果我不能说清楚,请在评论中告诉我...