Вызов функции-члена notify() на integer в LARAVEL 5.8
Я работаю над расписанием заданий. Поток состоит в том, что мне нужно отправить уведомление в качестве напоминания для их duedate.
вот моя консоль\command\remindDuedate
class remindDuedate extends Command
{
protected $signature = 'remindDuedate:run';
protected $description = 'Command description';
public function __construct()
{
parent::__construct();
}
public function handle()
{
while (true) {
$loanapplications = LoanApplication::where('archive',false)->where('status','=',2)->get();
foreach ($loanapplications as $application) {
$user = $application->user_id;
$date_approval = Carbon::createFromTimestamp(strtotime($application->date_approval));
$duration = $application->loanDuration->num_days;
$duedate_warning = $duration-3;
$reminder_date = $date_approval->addDays($duedate_warning)->toDateString();
$now = Carbon::now('Asia/Manila')->toDateString();
$duedate = Carbon::now('Asia/Manila')->addDays(3)->toDateString();
if($reminder_date == $now) {
$user->notify(new remindDuedateNotif());
}
}
}
}
}
в PHP ремесленника remindDuedate:бег
remindDuedateNotif
Почему я получаю "вызов функции-члена notify () on integer"
Спасибо Вам заранее!

Ответы - Вызов функции-члена notify() на integer в LARAVEL 5.8 / Call to a member function notify() on integer in LARAVEL 5.8

12.01.2020 12:08:48
Вы не извлекаете пользователя, поэтому пользователь все еще является целым числом, установите его таким образом.
$user = User::find($application->user_id);
РЕДАКТИРОВАТЬ
Как вы можете видеть, ваше уведомление принимает пользователя в качестве первого аргумента. Поэтому пошлите его вместе с ним.
$user->notify(new remindDuedateNotif($user));
Это странно-отправлять и уведомлять об объекте пользователя и передавать его. Вам повезло, так как каждый $notifiable
и везде, где вы обращаетесь к пользователю, вы можете сделать следующее.
__contruct()







12.01.2020 12:57:52
1) Модель пользователь должен иметь нотифицировать черта
Осветить\Уведомления\Уведомляемый
2) необходимо добавить связь между приложением и Пользователем в модель приложения
public function user()
{
return $this->belongsTo(User::class);
}
3) уведомить пользователя приложения :
$application->user->notify(new remindDuedateNotif());
