【发布时间】:2018-05-01 16:16:21
【问题描述】:
当我设置广播时,我收到了这个错误:
传递给 App\Events\MessagePosted::__construct() 的参数 1 必须是 App\Events\Message 的一个实例,给出 App\Message 的实例, 在 /var/www/epg/app/Http/Controllers/MessageController.php 上调用 第 25 行 /var/www/epg/app/Events/MessagePosted.php#37
我从我的控制器触发这样的事件
broadcast(new MessagePosted($message, $user))->toOthers();
它应该向该事件广播消息和用户
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\Message;
use App\Events\MessagePosted;
class MessageController extends Controller
{
public function store(Request $request)
{
$user = Auth::user();
// Store the new message
$message = $user->messages()->create([
'message' => $request->get('message')
]);
// Announce that a new message has been posted
broadcast(new MessagePosted($message, $user))->toOthers();
return ['status' => 'OK'];
}
}
我不明白发生了什么,因为我看到人们说检查你的导入,但我在控制器中导入了正确的类。
【问题讨论】:
-
你能发布你的
MessagePosted文件吗?