假设您的服务提供商中有如下内容
public function boot()
{
Package::observe(PackageObservable::class);
}
包模型应该传递给可观察的类,以便获得包名称
$package->name
。如果此值为null,则在创建包时,您没有定义名称。
以下命令所做的只是尝试运行select语句;
DB::table('permit')
->select('permit.valid_until')
->join('package', 'user_id', '=', 'package.user_id')
->where('package.name','=',$package->name)
->addMonths(12);
方法
addMonths
查询生成器上不存在。你有
addMonths()
许可证模型上的方法?
你可能想按照
$permit = Permit::select("valid_until")->where('user_id',$package->user_id)->orderBy('user_id', 'desc')->first();
if ($permit) {
$newValidUntil = $permit->valid_until->addMonths(12);
$permit->update(['valid_until' => $newValidUntil]);
}
如果你发表评论让我知道你进展如何,我可以随时更新我的答案,以适应你需要的任何额外信息。