エンジニアのひよこ_level10

【毎日更新!】新卒2年目エンジニアブログです! プログラムだけじゃなく、マネジメントとかも書いていきたい!

Laravelでfillableかguardedを設定して、DBの予期せぬ変化に備える【24日目】

今日の題材

qiita.com

qiita.com

DBで書き換えたくない値を保護しよう

DBのカラムで、この値は書き換えたくない、
ってカラムがあると思います。idとか。

それを保護するために、fillableやguardedを設定します。
どちらか片方を設定します。

ホワイトリスト fillable

fillableは、書き換えることが出来るカラムを指定します。

$fillable = ['name', 'company'];  

のようにかくと、nameとcompanyのみ書き換えられます。

ブラックリスト guarded

guardedは、書き換えたくないカラムを指定します。

$guarded = ['id'];

のようにかくと、idを書き換えようとしても、書き変わりません。

fill()という関数

私がデータベースを触る時、今まで

$db->name       = $request->name;
$db->company    = $request->company;
$db->save();

のような感じに書いてたんですけど、他の書き方として

$db->fill($request->all())->save();

みたいな書き方があるそうですね。 LaravelのORMで初心者から職人へ - Qiitaの記事を参照。

fillableを確認して保存するメソッドのようです。一つ勉強になりました。

ただ、難点なのか、何を保存してるかぱっとわからないのもちょびっと不安で難しい。

日記

お仕事楽しい?と聞かれました。
楽しいと答えました。
なぜかと聞かれました。
3つくらい挙げたけどどれが一番重要なのかわかりませんでした。

出来れば、モチベーションをコントロールするために、特定できたらいいなと思います。

今日の運動

エアロバイク 1.5km