Laravelで生SQLクエリパートを実行する必要があります。Laravelクエリビルダ生ANDステートメント
生のSQLは次のように、基本的になります。
AND (forretningsadresse_fylke = 'HEDMARK'
AND (forretningsadresse_kommune = 'HAMAR')
OR (forretningsadresse_kommune = 'ELVERUM')
)
OR (forretningsadresse_fylke = 'HORDALAND'
AND (forretningsadresse_kommune = 'BERGEN')
)
私が使用しよう:
$result = Company::where(function($a) use($input, $sql) {
// Name or keywords LIKE string
$a -> where('navn', 'LIKE', '%'. $input['query_string'] .'%');
$a -> where('keywords', 'LIKE', '%'. $input['query_string'] .'%');
if (!empty($sql)) {
$a -> where(DB::statement($sql));
}
});
$result = $result -> take($input['limit']) // Take $limit
-> offset($input['offset']) // Offset by $offset
-> orderBy('rank', 'DESC') // Sponsors first
-> get();
しかし、それは動作しません。以下のエラーを参照してください。 これはどのように機能しますか?前もって感謝します!
Connection.php行のQueryException 673:SQLSTATE [42000]:構文エラーまたはアクセス違反:1064 SQL構文にエラーがあります。 1行目(SQL:AND(fork))の近くで使用する正しい構文についてはMariaDBサーバーのバージョンに対応するマニュアルをチェックしてください。
EDIT:テーブル100万行を持っている、と私は生のクエリを作成するには、このメソッドを使用します。http://i.imgur.com/Q5SRP58.png
あなたは、私がこれを試してみましたフル – oseintow