2017-12-08 9 views
0
私はLaravel検索をしようとしています

PHP - Laravel検索コントローラ

HTMLフォームが今

<form> <select name="hidArray[]"> <option name="test">Test</option> <option name="test2">Test2</option> </select> </form> 

として

で雄弁な方法で配列としてPOSTデータを処理する時点で立ち往生、この入力はとして初期化されました。ブートストラップマルチセレクション

私はPOSTリクエストとして入力されたら、それは表現されています以下のようにしているような配列は、今

array:2 [▼ 
0 => "test" 
1 => "test2" 
] 

expetcedであるように、私は、データベースから結果を得るために雄弁クエリを形成します。 、それが動作していないこの方法を

if($request->has('hidArray')){ 
     $profile->whereIn('hidArray', $request->input('hidArray')); 
} 

しかし、私は思う:

は、私は以下のようにのように試してみました。この操作を実行できる他の方法はありますか?

+0

をあなたはあなたはそれが動作していない「と思う」作るものが...動作していない「と思いますか」? – lagbox

+0

@lagboxなぜ私は望みの結果を得ていなかったのですが、生のSQLを使って結果が得られました – Gags

答えて

1

あなたは何を理解しているのでしょうか?あなたが何かやろうとしている

$profile = ModelName::where('user_id',$id); 

if($request->has('hidArray')){ 
     $profile = $profile->whereIn('hidArray', $request->input('hidArray')); 
} 

$profile = $profile->get(); 
+0

私が書いたステートメントがWhereInのPOST配列を処理することを確認したいのですか? – Gags

+1

@Gagsだから、私が与えた解決策を試してみてください。結局、あなた自身でテストしなければなりません。 –