私はLaravelを使用しています。ご存じのように、LaravelはクエリのUNION
句をサポートしていません。だから私はraw
と書いて、結果全体をページングする必要があります。このような何か:どのようにクエリにパラメータを渡すことができますか?
$results = DB::select('SELECT id, title, description, imgPath
FROM news n
WHERE n.title LIKE %$q OR n.description LIKE %$q
UNION ALL
SELECT id, title, description, imgPath
FROM productions p
WHERE p.title LIKE %$q OR p.description LIKE %$q
');
私が言ったように、私はLaravelを使用して、そこでどのように私はLaravelでクエリに$q
を渡すことができますか?私がしようとしているのは、クエリをSQLインジェクションに対して安全にすることだけです。だからこそ、私はクエリにパラメータを直接渡すのではなく、クエリに渡そうとしているのです。純粋なPHPで
私はこのようなことを行うことができます。
$st = $dbh->prepare('SELECT ... WHRER col LIKE %:q');
$st->bindParam(':q', $q, PDO::PARAM_INT);
私はこの^ Laravelのように何かをしたいです。
https://laravel.com/docs/5.3/queries#([こちらをクリック]ユニオン)を使用して問題のユニオンを使用しているか調べます。 –
これを確認するhttp://stackoverflow.com/questions/20864872/how-to-bind-parameters-to-a-raw-db-query-in-laravel-thats-used-on-a-modelパラメータバインディングについての回答。 – aleksejjj