1

データベースで行う調査があります。常にすべてのパラメーターを使用するわけではありません。ユーザーは名前を調べたいかもしれませんが、住所やその逆は調べたくないかもしれません。

高度な wheresunionsを使用しようとしましたが、どれも機能していないようです。それらのすべてで、「一般エラー: 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();

しかし、それは私に上記のエラーを与えます。

私が本当にやりたいことは、クエリに入れるパラメーターを動的に選択し、「その場で」組み立てることです。誰もそれを行う方法を知っていますか?

うまく説明できない場合は、コメントでお知らせください...

4

1 に答える 1