1 回答
TA贡献1871条经验 获得超13个赞
您应该使用toDatabase或toArray方法来保存任何其他数据。另外,您无需更改通知迁移。您应该$letter在内部构造变量DatabaseNotification,例如:
public function saveUser($formdata)
{
$password = $formdata['password'];
$securePassword = Hash::make($password);
$user = User::create(array_merge($formdata, ['password' => $securePassword]));
$admin = User::where('type', 'admin')->first();
// $letter = collect([
// 'title' => $user->name.' New User Registered in your Portal',
// ]);
// This syntax or below.
// Notification::send($admin, new DatabaseNotification($user, $message));
// Make sure you added `use Notifiable` trait in your `User` model
$admin->notify(new DatabaseNotification($user, $message));
return $user;
}
然后在您的toArray或toDatabase方法中:
protected $message;
protected $user;
/**
* Create a new notification instance.
*
* @return void
*/
public function __construct($message, User $user)
{
$this->message = $message;
$this->user = $user;
}
/**
* Get the array representation of the notification.
*
* @param mixed $notifiable
* @return array
*/
public function toArray($notifiable)
{
return [
'user_id' => $this->user->id,
'message' => $this->message
];
}
最终toArray输出序列化到表的data列中notifications。
- 1 回答
- 0 关注
- 229 浏览
添加回答
举报