データベースで行う調査があります。常にすべてのパラメーターを使用するわけではありません。ユーザーは名前を調べたいかもしれませんが、住所やその逆は調べたくないかもしれません。
高度な wheresやunionsを使用しようとしましたが、どれも機能していないようです。それらのすべてで、「一般エラー: 1221 UNION と ORDER BY の不適切な使用法」という SQL エラーが表示されます。
ここに私が試したコードがあります
$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();
しかし、それは私に上記のエラーを与えます。
私が本当にやりたいことは、クエリに入れるパラメーターを動的に選択し、「その場で」組み立てることです。誰もそれを行う方法を知っていますか?
うまく説明できない場合は、コメントでお知らせください...