gpt4 book ai didi

laravel - 流明观察者不在 Eloquent 模型上工作

转载 作者:行者123 更新时间:2023-12-02 19:39:17 25 4
gpt4 key购买 nike

我使用的是流明 5.5。我试图在更新/删除模型时调用观察者。当我尝试使用用户模型时,观察者没有调用。当我对事件执行此操作时,一切正常。它甚至没有显示任何错误。

这是我的代码:

AppServiceProvider.php

....
use App\Models\User;
use App\Observers\UserObserver;
...

public function boot() {
User::observe(UserObserver::class);

}

App\Models\User.php

...
public static function changeCustomerStatus(int $customerID): int{
$customer = self::where([
'id' => $customerID,
'user_type' => app('config')->get('user_type.CUSTOMER')
])
->first();

if ($customer) {
$customer->status = $customer->status == app('config')->get('status.ACTIVE') ? app('config')->get('status.DEACTIVE') : app('config')->get('status.ACTIVE');

if ($customer->save()) {
return $customer->status;
}

return 0;
}
else
return 0;
}
...

App\Observers\UserObserver.php

<?php

namespace App\Observers;

use App\Models\User;

class UserObserver {

public function updated(User $user) {
if ($user->status === app('config')->get('status.DEACTIVE')) {
app('log')->info('updated');
}
}


public function saved(User $user) {
if ($user->status === app('config')->get('status.DEACTIVE')) {
app('log')->info('saved');
}
}


public function deleted(User $user) {
app('log')->info('deleted');
}
}

我什至做了 composer dump-autoload。但是没有运气

最佳答案

Lumen 没有观察功能。您可以改用事件或创建自定义观察器并从您的代码中调用其函数。

在此处阅读文档 - Events

关于laravel - 流明观察者不在 Eloquent 模型上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60520626/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com