いくつかの入力可能なフィールドを持つモデルがあります
class Customer extends Model
{
protected $fillable = [...,'my_field'...]
}
次の方法でこのテーブルを更新するコントローラーもあります。
public function update(Request $request, Customer $customer)
{
error_log($request->all());
$customer->update($request->all());
return response()->json($customer, 200);
}
空の文字列を含む本文でリクエストを送信した場合:
{
...
"my_field": "",
...
}
このフィールドは $request->all() メソッドによって取り除かれ、次のような配列になります。
Array
(
...
[my_field] =>
...
)
次に、このエラーが発生します。
Illuminate\Database\QueryException: SQLSTATE[23000]: 整合性制約違反: 1048 列 'my_field' を null にすることはできません
しかし、それはnullであってはなりません。空の文字列にしたいのです。これに対処する標準的な方法は何ですか?