使用 Laravel 5.3 通知功能,我看到通知是这样发送给用户的:
$user->notify(new InvoicePaid($invoice));
我认为$user
是应通报实体。如果我想向还没有帐户的用户发送通知怎么办?在我的应用程序中,用户向他们的朋友发送加入邀请。我正在尝试使用 Laravel 的通知将邀请码发送给还没有帐户的用户。
当用户邀请某人时,他们的数据存储在 Invite Model 中,如下所示:
class Invite extends Model
{
protected $table = 'invites';
protected $fillable = array('name', 'email', 'invite_code', 'expires_at', 'invited_by');
protected $dates = ['expires_at'];
}
我想我可以使用 notify 向 Invite 模型发送通知,如下所示:
$invite = Invite::find($inviteId);
$invite->notify(new InvitationNotification(ucfirst($invite->name), $invite->invite_code, $invite->expires_at));
但以上不起作用。我得到错误:
Call to undefined method Illuminate\Database\Query\Builder::notify()
所以我的问题是:
我只能向用户模型发送通知吗?
有没有办法向还没有帐户的新用户发送通知?
在这些情况下,我唯一的选择是使用 Laravel 的 Mailable 类而不是 Notification 吗?