実際にlaravelコードに移動する前に、まずワークベンチに自分のsqlqueryを書きました。ここに私のSQLクエリは、私は今、コードにこれを変換したいが、それは戻って何かを返すされていないなどのトラブルが生じています Laravel whereRaw何も返さない
SET @info = 'hello';
SELECT device_type_id
FROM arecibo.device_type_mappings
WHERE @info LIKE concat('%', name , '%') COLLATE utf8_unicode_ci;
ワークベンチ
で書かれています。私は何が欠けているのか見て回りましたが、役に立たないものは何も見つかりませんでした。ここに私の未遂コードです:$deviceTypeId = DB::table('device_type_mappings')
->select('device_type_id')
->whereRaw('? LIKE concat(\'%\', name , \'%\') COLLATE utf8_unicode_ci;', [$sysInfo])
->get();
が可能であれば私がモデルを使用したいと思いますが、それが露出いいえ]を選択する方法がなかったことを不平を言いました。
私は、これはLaravelによって生成されたクエリに挿入されている場合、うまくすべてでそれを実行することができないかもしれない、あなたの「どこ」ステートメントからセミコロンを削除してくださいlaravel 5.3
laravelログとmysqlログを確認します。正直言って私はあなたの質問に間違いがないとは思わない。正しくないと思われるのは、 'COLLATE utf8_unicode_ci'の最後にある'; 'だけです。あなたはそれを必要としません。 – Andrew
' - > get'を' - > toSql() 'に置き換えて、この値をダンプし、あなたが期待したものと比較して、さらに必要な場合はこの質問に追加してください。 –