Php Laravel 5.1雄辩的事件
我正在使用Laravel模型事件。我的要求是将其他参数传递给事件 我试着这样做:Php Laravel 5.1雄辩的事件,php,laravel-5,Php,Laravel 5,我正在使用Laravel模型事件。我的要求是将其他参数传递给事件 我试着这样做: $feedback = new Feedback(); $feedback->user_id = $this->user_id; $feedback->feedback = $request->feedback; $data = array( 'message' => $request->feedback, 'from' =
$feedback = new Feedback();
$feedback->user_id = $this->user_id;
$feedback->feedback = $request->feedback;
$data = array(
'message' => $request->feedback,
'from' => $this->data->user->email,
'name' => $this->data->user->displayname
);
$feedback->save($data);
我的活动是:
public function boot()
{
Feedback::saved(function ($item) {
//\Event::fire(new SendEmail($item));
});
}
但它仅在我尝试发送时发送模型对象:
$data = array(
'message' => $request->feedback,
'from' => $this->data->user->email,
'name' => $this->data->user->displayname
);
我如何将此发送到活动 解决这个问题肯定有办法。首先想到的是在事件所在的
Provider
中获取Auth
数据
您需要执行以下操作:
use Auth; //Assuming this is how you are handling authentication
public function boot()
{
Feedback::saved(function ($item) {
$user = Auth::user();
$data = [
'message' => $item->feedback,
'from' => $user->email,
'name' => $user->displayname
];
\Event::fire(new SendEmail($data));
});
}
你可以改为做$item->user->email
,而不必为Auth操心,我只是无法从你发布的内容中了解它们之间的关系
代码可能需要一些调整才能在您的应用程序中工作,如果出现任何其他问题,请告诉我 dd($item)看到了吗?有
消息
,来自
和名称
将成为模型的属性?@BasheerAhmed dd($items)返回模型对象,而不是我在$feedback->save($data)中传递的数据代码>@svrnm否这些不是模型的属性。我想发送额外的参数,这些是额外的参数。您不能使用save
方法传递数据。。。