我正在尝试在laravel项目中实现松弛通知。
我在控制器内部打电话给
$user->notify(new WorkAdded());
这里是WorkAdded
类
public function __construct()
{
//
}
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
* @return array
*/
public function via($notifiable)
{
return ['slack'];
}
/**
* Get the Slack representation of the notification.
*
* @param mixed $notifiable
* @return SlackMessage
*/
public function toSlack($notifiable)
{
return (new SlackMessage)
->content('TEST');
}
在User
类中,我添加了:
use Notifiable;
public function routeNotificationForSlack($notification)
{
return 'https://hooks.slack.com/services/...';
}
但是当我调用notify函数时,出现以下错误:
类型错误:函数App \ User :: routeNotificationForSlack()的参数太少,在第30行的/Applications/MAMP/htdocs/gest/vendor/laravel/framework/src/Illuminate/Notifications/RoutesNotifications.php中传递了0恰好是1个
答案 0 :(得分:0)
如果您使用的是Laravel 5.5或更低版本,则routeNotificationFor{driver}
方法不会传递$notification
实例。
只需将方法更改为以下内容即可
:public function routeNotificationForSlack()
{
return 'https://hooks.slack.com/services/...';
}
使用Laravel文档时,将屏幕右上方的下拉菜单更改为您使用的Laravel版本始终是一个好主意。