Laravel 版本:7.14.1
这是我的电子邮件模型。
class Email extends Model {
public static function boot() {
parent::boot();
static::updated(function($obj) {
\Log::info('1-'.$obj->status);
if($obj->status==='active') {
\Log::info('2-'.$obj->status);
$obj->sendCampaign();
}
});
}
public function sendCampaign()
{
$campaign = $this;
dispatch(new SendEmailJob($campaign ));
$campaign->status='sent';
$campaign->save();
\Log::info('3-' . $campaign->status);
}
}
##old 状态为sent
. 我刚刚将其更新为active
.
这是我的日志结果:
[2020-09-04 16:47:57] local.INFO: 1-active
[2020-09-04 16:47:57] local.INFO: 2-active
[2020-09-04 16:47:58] local.INFO: 1-sent
[2020-09-04 16:47:58] local.INFO: 3-sent
我认为最终状态列应该sent
根据我的逻辑和日志结果。
但是当我在 db 上看到它时,它是active
. 我对此进行了 5 次测试,但结果相同。
谁能帮我?