私は例外の列が存在しませんが、列が既にデータベースに存在する場合、orderByRaw関数を使用するとEloquent/QueryBuilderに問題があります。ここLaravel 5、orderByRawフィールドと列が使用されていません
は例外である:
SQLSTATE[42883]: Undefined function: 7 ERROR: function field(integer, integer) does not exist
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
データベースにステータス列は整数です。私はusers.statusを使用する場合、私は同じエラーを得た、も...
$orderedStatuses = implode(',', [4]);
$users->orderByRaw(\DB::raw("FIELD(status, $orderedStatuses)"));
: はここに私のコードです。
誰かが私を助けることができますか?
'orderByRaw'はすでに生のSQLを期待しています。内部で 'DB :: raw'を使う必要はありません。 – fubar
さらに、fubarが書いたものに対して、MySQL [FIELD()](https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_field)関数は文字列を引数として受け入れます。あなたは、明らかに整数を渡しています。エラーメッセージには、あなたが言及した存在しない列について何も言わない。これは誤って使われている関数です。 – lesssugar