Laravel7 $fillableと$guardedの使い方

Laravel7で、Eloquent利用時に$fillableと$guardedの使い方を記述してます。
環境
- OS windows10 pro 64bit
- Composer 1.10.5
- PHP 7.4.5
- MariaDB 10.4.12
- Laravel Framework 7.6.2
※windows10に Laravel のインストールはこちら
※Laravel7でEloquentの利用はこちら
$fillable使い方
ホワイトリストとして利用できます。
指定したカラムに対してのみ、 create()やupdate() 、fill()が可能になります。
class Task extends Model
{
protected $fillable = [
'subject',
];
}
利用するテーブル名は「tasks」でカラムは、次の画像のようになります。

下記のコードを記述した場合、カラム「subject」のみがアップデートされます
public function update(StoreTask $request, $id)
{
$update = [
'subject' => $request->subject,
'description' => $request->description,
'completed' => $request->completed,
'complete_date' => $request->complete_date,
];
Task::where('id', $id)->update($update);
return back()->with('success', '編集しました');
}
$guarded使い方
ブラックリストとして利用できます。
指定したカラムは、 create()やupdate() 、fill()が不可能となります。
class Task extends Model
{
protected $guarded = [
'subject',
];
}
下記のコードを記述した場合、エラーとなります。
public function update(StoreTask $request, $id)
{
$update = [
'subject' => $request->subject,
'description' => $request->description,
'completed' => $request->completed,
'complete_date' => $request->complete_date,
];
Task::where('id', $id)->update($update);
return back()->with('success', '編集しました');
}
-
前の記事
Nuxt.js ライブラリ「vue-context」をインストールしてコンテキストメニューを実装する 2020.05.12
-
次の記事
Laravel7 resource使用時のメソッドとURIの対応表 2020.05.12
コメントを書く