実行環境
■ Laravel : 5.7
■ PHP : 7.2

実現したいこと:
モデルDateTime型のNULL更新したいのですが、やり方よくわかりません。

発生している問題・エラーメッセージ
formのinputに空に変更で更新する時に、
何故か現在時刻に自動更新している。

該当のソースコード
現在のモデルの内容

/?php
namespace /**省略**/
class Job extends Model {

    /**
     * @var キャスト (toArray、toJson用)
     */
    protected $casts = [
        'visit_date' => 'date:Y-m-d',
        'job_start' => 'datetime:Y-m-d H:i',
        'job_end' => 'datetime:Y-m-d H:i',
    ];

    /**
     * @var date 時間フォーマット表示
     */
    protected $dates = [
        'visit_date', 
        'job_start',
        'job_end',
    ];

    // $fillableに指定したもの以外は入らない(save、update、fill)
    protected $fillable = [
        /**省略**/
        'visit_date', 
        'job_start',
        'job_end',
        /**省略**/
    ];

    /**他のFUNCTIONは無関係なので省略**/

    /**
     * ミューテター
     * job_start の 設定
     * @param  string  $value ($valueのフォーマットは 'Y:m:d H:i')
     * @return void
     */
    public function setJobStartAttribute($value) {
        if($value !== null){
            //$valueのフォーマットは 'Y:m:d H:i'
            //Carbon で正常のフォーマットに変更する?
            $value = (new Carbon($value))->format('Y-m-d H:i:s');
        }
        //null ならそのまま?
        $this->attributes['job_start'] = $value;
    }

    /**
     * ミューテター
     * job_start の 取得
     * @param  string  $value ($valueのフォーマットは 'Y:m:d H:i')
     * @return void
     */
    public function getJobStartAttribute($value) {
        return (new Carbon($value))->format('Y-m-d H:i');
    }

}

関連のマイグレーション

Schema::create('jobs', function(Blueprint $table)
{
/**省略**/
$table->dateTime('job_start')->nullable();
$table->dateTime('job_end')->nullable();
});

試したこと1

public function edit($id, Request $request){
 $job = Job::findOrFail($id);
 $job->job_start = null;
 $job->save();
}

試したこと2

public function update($id, Request $request){
 $job = Job::findOrFail($id);
 //input内容のjob_startは空です
 $job->fill( $request->input() );
 $job->save();
}

両方とも何故かjob_startが現在時刻に更新しています。

同じ質問をteratailにも投稿しています。
https://teratail.com/questions/209084