我可以发誓我的代码到目前为止一直有效。我正在观察Item模型,并且想在status
列为udpdate并将其设置为loaded
时随时发送电子邮件通知。为此,我使用了isDirty()
方法,但是由于没有邮件发送,我的代码似乎无法正常工作。这是我的代码
use App\Notifications\ItemAlert;
use App\User;
use App\Item;
class ItemObserver
{
public function updated(Item $item)
{
// check if product status was updated to loaded
if ($item->isDirty('status' === 'Loaded')) {
// notify all users
$users = User::all();
foreach ($users as $user) {
$user->notify(new ItemAlert($user, $item));
}
}
}
}
我需要帮助才能使其正常工作。
答案 0 :(得分:0)
解决了!显然isDirty()
需要另一个条件来检查缺少的条件。正确的代码应该是
public function updated(Item $item)
{
// check if product status was updated to loaded
if ($item->isDirty('status' === 'Loaded') && ($item->status === 'Loaded')) {
// notify all users
$users = User::all();
foreach ($users as $user) {
$user->notify(new ItemAlert($user, $item));
}
}
}
我希望这对遇到此解决方案的人有所帮助。