Laravel - 如何使用Observers检查哪个列已更新

时间:2018-04-18 10:35:21

标签: php laravel laravel-5 eloquent

我想知道只有一个使用观察者

更新的列
<?php


namespace App\Observers;


use App\OnsiteHistory;

class OnsiteHistoryObserver
{

    public function updated(OnsiteHistory $onsiteHistory)
    {
        if ($onsiteHistory->status == 'accepted'){

           // send email  

        }
    }
}

我想仅检查状态列是否已更新。 我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

经过一些研究并查看Laravel资源后,我找到了解决方法。

Laravel Elouqont提供了一种方法isDirty([])

namespace App\Observers;


use App\OnsiteHistory;

class OnsiteHistoryObserver
{

    public function updated(OnsiteHistory $onsiteHistory)
    {
        if ($onsiteHistory->isDirty(['status']) &&  strtolower($onsiteHistory->status) == 'accepted'){

       dd('I am updated')


        }
    }
}