tohokuaikiのチラシの裏

技術的ネタとか。

LaravelのEloquentでDBに登録する時にTEXTなフィールドがNULLでINSERTしようとして困ってしまう件

TEXTフィールドにNULLはダメだよってDBから怒られてしまう。

空文字列にしてくれればいいのに…

ということで、こんな感じで間に合わせ。

<?php
class Post extends Model
{

    protected static function boot()
    {
        parent::boot();
        self::saving(function (Post $post) {
            if (is_null($post->etc)) {
                $post->etc = '';
            }
        });
    }
}

なんかいい方法ないかな…