エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

【Laravel】DBに保存時に、空文字""をnullに変換したいとき【675日目】

DBの保存に一手間追加したい

フォームの入力などで取得したデータを、ちょっと変形させてからDBに保存したい。

でも、コードの途中を変更することは困難だったり(オレオレフレームワークとか)、
該当カラムは必ず変形させたいとかがあったとします。

私だと、日付を入れるカラムに、空文字が来たらnullにしたい場合がありました。
Carbonに矯正されると‘0000-00-00’になってしまうので。

これらにどう対応するか

setXxxxAttributeの使い所

    public function setXxxxDateAttribute($value)
    {
        $this->attributes['xxxx_date'] = empty($value) ? null : Carbon::parse($value);
    }

Modelクラス上で、setXxxxAttributeを使いましょうφ(・

使い方を知っていても、使い時知ってないと忘れますねφ(・

参考

readouble.com