Product::where('name', 'like', 'something%')->orWhere('category', 'like', 'something%')->orWhere('price', 'like', 'something%')->orWhere('qty', 'like', 'something%')...
もっとエレガントでコンパクトな方法で対応できますか?laravel multipleでの実行方法または問い合わせ先
Product::where('name', 'like', 'something%')->orWhere('category', 'like', 'something%')->orWhere('price', 'like', 'something%')->orWhere('qty', 'like', 'something%')...
もっとエレガントでコンパクトな方法で対応できますか?laravel multipleでの実行方法または問い合わせ先
あなたはそれについて、この道を行くことができhere
に配列を渡すあなたはorWhere()
の配列を構築するために'array_map()'を使用することができます。
$search = 'something';
Product::orWhere(array_map(
function ($i) use($search) { return [$i, 'like', $search.'%']; },
['name', 'category', 'price', 'qty']
))->get();
あなたがして、検索する多くの分野を持っている場合、それは良い方法です。 3〜4フィールドの場合は、簡単なコードorWhere()
を使用するだけです。コードを読む方が簡単だからです。