我正在使用vue.js,laravel遇到这个错误app.js:279 GEThttp://127.0.0.1:8000/messages 500(内部服务器错误)
这是我的控制器我正在使用vue.js,laravel遇到这个错误app.js:279 GEThttp://127.0.0.1:8000/messages 500(内部服务器错误),laravel,vue.js,Laravel,Vue.js,这是我的控制器 namespace App\Http\Controllers; use App\Events\MessageSent; use Illuminate\Http\Request; use App\Message; class ChatsController extends Controller { // public function __construct() { $this->middleware('auth'); }
namespace App\Http\Controllers;
use App\Events\MessageSent; use Illuminate\Http\Request; use App\Message;
class ChatsController extends Controller {
//
public function __construct()
{
$this->middleware('auth');
}
public function index(){
return view('chats');
}
public function fetchMessages(){
return Message::with('user')->get;
}
public function sendMessage(Request $request){
$message=auth()->user()->messages()->create([
'message'=>$request->message
]);
broadcast(new MessageSent($message->load('user')));
return['status'=>'success'];
}
}
vue组件
export default {
props:['user'],
data(){
return{
messages:[],
newMessage:''
}
},
created() {
this.fetchMessages();
Echo.join('chats')
.listen('MessageSent',(event) =>{
this.messages.push(event.message);
});
},
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='';
}
}
}
所有路线
路由::get('/home','HomeController@index')->名称('home')
在您的控制器中,
fetchMessages
中有一行是错误的
return Message::with('user')->get;
因为get
是一个方法,而不是一个属性,所以您应该这样做
return Message::with('user')->get();
请正确格式化您的代码