【发布时间】:2019-05-01 20:17:45
【问题描述】:
当我将数组作为参数传递给TeamMemberUpdating 事件时出现以下错误:
传递给 App\Events\Event ::__construct() 的参数 1 必须是 App\Models\Model 的实例,给定的 Illuminate\Database\Eloquent\Collection 的实例
这里是我触发事件的地方:
$teamMembers = TeamMember::whereIn('email', $request->projectTeamEmails)->get();
event(new TeamMemberUpdating($teamMembers));
我的活动:
class TeamMemberUpdating
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public $teamMembers;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct(TeamMember $teamMembers)
{
$this->teamMembers = $teamMembers;
}
}
还有我的听众handle() 方法:
public function handle(TeamMemberUpdating $event)
{
TeamMemberLog::insert($event->teamMembers);
}
【问题讨论】:
-
取而代之的是
public function __construct(TeamMember $teamMembers)把public function __construct(Collection $teamMembers)
标签: php laravel event-listener