添付ファイルのアップロードという初歩的な作業で躓きましたのでメモです。
普通のフォームにtype=”file”の入力項目を追加し、Laravel側で受け取るだけの作業だったのですが、それがどうしても上手くいかず、ログを確認したところ下記のように記述されていました。
Serialization of 'Illuminate\Http\UploadedFile' is not allowed
自分はLaravelでリクエストの内容を受け取るときは Request型のオブジェクトからall()を使って下記のように取得していました。
$inputs = $request->all();
どうもこの処理のところでエラーが発生しているようで、ファイル型の入力が存在すると、配列型に変換できないのが原因のようです。
というわけでall()は使えないので、入力項目を一つずつ指定するしかないのかと思っていたらさすがLaravel、不要な項目を排除して取得するメソッドが用意されていました。
下記のように指定します。
$inputs = $request->except(['file1', 'file2']);
これでエラーは発生しなくなり、ファイルを受け取る処理ができるようになりました。