laravel - Laravel5.8 Pusher 事件 500 内部服务器错误
问题描述
我尝试在我的网站上添加一个聊天扩展,观看了很多视频课程,Laravel 和 Pusher 使用用户。网站正常运行
broadcasting(new MyEvent('my-event'));
但是如果我在 return line- 之前添加 line- ,则会给出 500 Internal Server Error 。发送的消息正在保存到数据库但没有返回值...请帮助我
我的 ChatEvent.php
use App\Chat;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use Illuminate\Broadcasting\PresenceChannel;
....
class ChatEvent implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public $chat;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct(Chat $chat)
{
$this->chat = $chat;
}
/**
* Get the channels the event should broadcast on.
*
* @return \Illuminate\Broadcasting\Channel|array
*/
public function broadcastOn()
{
return new PresenceChannel('chat');
}
}
我的 ChatController.php
use Illuminate\Http\Request;
use App\Chat;
use App\Events\ChatEvent;
class ChatController extends Controller
{
public function __construct(){
$this->middleware('auth');
}
public function index(){
return view('chat.chat');
}
public function fetchAllMessages(){
return Chat::with('user')->get();
}
public function sendMessage(Request $request){
$chat = auth()->user()->messages()->create([
'message' => $request->message
]);
broadcast(new ChatEvent($chat->load('user')))->toOthers();
return ['status' => 'success'];
}
}
VueJs 发布和获取代码
<script>
export default {
methods: {
fetchMessages(){
axios.get('messages').then(response =>{
this.messages = response.data;
})
},
sendMessage(){
this.messages.push({
user: this.user,
message: this.newMessage
});
axios.post('messages',{message: this.newMessage});
this.newMessage='';
},
}
}
</script>
路线和渠道
Route::get('/chats','ChatController@index');
Route::get('/messages','ChatController@fetchAllMessages');
Route::post('/messages','ChatController@sendMessage');
Broadcast::channel('chat', function ($user) {
return $user;
});
Pusher's AppKey,Secret,ID and Cluster OK, Broadcaster-Driver: pusher Everywhere
解决方案
推荐阅读
- ionic-framework - Ionic 4:媒体捕获插件的视频上传错误
- python - 使用服务员在生产环境中运行烧瓶
- api - 邮递员调用 Autotask
- elasticsearch - Elasticsearch:检查对象类型字段中是否存在键
- acumatica - 升级后的代码出现新错误
- javascript - 如何使用 MomentJS 获取特定日期?
- python - 在 Python 中使用 Pandas 绘制饼图
- python - Python/Pandas - 如何重命名 DataFrame 中的列标题,而不会丢失列标题中的现有数据?
- kubernetes - Kubernetes 中的 Redis - 连接被拒绝
- sql - tsql 命令优化