Php Laravel 5.1雄辩的事件

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' =

我正在使用Laravel模型事件。我的要求是将其他参数传递给事件

我试着这样做:

$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
方法传递数据。。。