2017-07-01 8 views
0

2000個以上のエントリを含むデータベーステーブルのフィールドと単語の配列を比較したいと思います。 例えば、ユーザーが文字列を入力する "これは良い" 文字列を配列に展開し、テーブルにあるgoodなどの単語をデータベーステーブルに一致させると、goodキー​​ワードが返されます。ここ は私のコードでは、各ループ反復で$keywordの書き込み値を超えている My output is displaying the keyword like this in the pictureクエリはlaravelで間違った出力結果を返します

答えて

3

を入れて、私の出ている。ここ

$cmnt = $request['comment']; 
$parse = explode(' ',$cmnt); 
$length = count($parse); 
for($i = 0; $i < $length ; $i++) 
{ 
    $keyword = Rate::where('keyword',$parse[$i]); 
} 
if ($keyword != null) 
{ 
    dd($keyword); 
} 

この

$cmnt = $request['comment']; 
$parse = explode(' ',$cmnt); 
$parse = array_unique($parse); 
$keyword = Rate::whereIn('keyword',$parse); 
dd($keyword); 
+0

ようです。しかし、私はすべて比較したいですarrayの値がなぜforループを使用しているのか、それは反復なしでどうすれば動作するのでしょうか? – DevTaabi

+0

上記は、select * from rateのようなクエリを作成します。キーワードは( 'this'、 'is'、 'good')のキーワードです。 –

+0

私の問題は解決しましたありがとう! – DevTaabi

関連する問題