Внедрение зависимостей Laravel Observer имеет экземпляр коллекцииPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Внедрение зависимостей Laravel Observer имеет экземпляр коллекции

Сообщение Anonymous »

Внедрение зависимостей в Laravel Observer дало атрибут строкового типа вместо целого числа.
Я столкнулся с проблемой с Laravel Observer, потому что он дал мне коллекцию с неправильным типом атрибута (целые числа становятся строками) ). Я исправил это, вызвав метод обновления(). Это мой код:
Наблюдатель:

Код: Выделить всё

class PaymentObserver implements ShouldHandleEventsAfterCommit
{
/**
* Handle the Payment "created" event.
*/
public function created(Payment $payment): void
{
$payment->refresh(); // need refresh or refactch data
$barbershop                 = Barbershop::find($payment->barbershop_id);
$barbershop->status         = BarbershopStatusEnum::ACTIVE;
$barbershop->expired_date   = Carbon::now()->addDays($payment->days_added);
$barbershop->save();
}
}
Действие филамента: создать новый платеж

Код: Выделить всё

->action(function(Barbershop $barbershop, array $data){
try{
$data['user_id'] = Auth::user()->id;
$barbershop->payments()->create($data);
Notification::make()->title('Saved successfully')->success()->send();
}catch(Exception $e){
Notification::make()->title('Save Failed! ' . $e->getMessage())->danger()->send();
}
})
Сосредоточьтесь на свойстве суммы и дней_добавленных.
$платеж перед обновлением():
изображение здесь
$платеж после обновления ()
изображение здесь
Я уже пытаюсь использовать приведение атрибутов, прежде чем исправлять его с помощью обновления(), но ничего не происходит. Возможно это баг или просто моя ошибка, давайте обсудим.
Примечание:
  • Я использую Laravel 11
    Я использую нить


Подробнее здесь: https://stackoverflow.com/questions/787 ... n-instance
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»