Laravel 方法Illumb\Database\Eloquent\Collection::链接不存在
我在用户和消息之间创建了一个模型关系。我想为经过身份验证的用户实现一个消息列表,但出现以下错误 方法Illumb\Database\Eloquent\Collection::链接不存在 控制器Laravel 方法Illumb\Database\Eloquent\Collection::链接不存在,laravel,Laravel,我在用户和消息之间创建了一个模型关系。我想为经过身份验证的用户实现一个消息列表,但出现以下错误 方法Illumb\Database\Eloquent\Collection::链接不存在 控制器 公共功能索引() { $user_id=auth()->user()->id; $user=user::find($user\u id); 返回视图('message.index')->带有('messages',$user->message); } 消息提供程序 类消息扩展模型 { 公共函数用户(){
公共功能索引()
{
$user_id=auth()->user()->id;
$user=user::find($user\u id);
返回视图('message.index')->带有('messages',$user->message);
}
消息提供程序
类消息扩展模型
{
公共函数用户(){
返回$this->belongsTo('App\User');
}
}
用户提供商
公共功能消息()
{
返回$this->hasMany('App\Message');
}
index.blade.php
@extends('layouts.app'))
@节(“内容”)
信息
@如果(计数($messages)>0)
@foreach($messages作为$message)
写在{{$message->created_at}
@endforeach
{{$messages->links()}
@否则
找不到帖子
@恩迪夫
@端部
错误
“方法Illumb\Database\Elounce\Collection::links不存在。(视图:C:\xampp\htdocs\basicwebsite\resources\views\message\index.blade.php)”
检查视图刀片,该方法(
links()
)仅在数据模型实现paginate()
方法时才能使用
如果不使用paginate()
,请删除此零件:
{{$messages->links() }}
如果试图在数据到达视图时对其进行分页,则需要在将数据传递到视图之前在控制器中添加分页。范例
return $users = Users::select('id','name')->paginate(10);
使用控制器中的paginate方法,可以调用links方法对视图中的对象进行分页,如下所示
{{$user->links()}}
希望它能帮助您您可以在控制器文件中执行类似操作
public function index()
{
$messages = Message::all()->paginate(5);
$user_id = auth()->user()->id;
$user = User::find($user_id);
return view('message.index')->with('messages', $messages, $user->message);
}
有两种方法可以解决此问题:
错误消息看起来像是在调用
index.blade.php
文件中的links()
方法。你在这么做吗?如果没有,你在任何地方调用links()
吗?@GeorgeHanson谢谢你的回答,但我不认为我调用links我是laravel的新手,我将共享index.blade视图看起来你在调用视图中的links()
方法。您正在专门调用$messages->links()
。Laravel集合上没有links()
方法,您正在尝试分页吗?您正在调用links()
。看一看:@endforeach{{$messages->links()}}@else
@GeorgeHanson对不起,我是stackoverflow的新手,英语不好,对不起,我正在尝试显示仅在仪表板上记录其消息的用户的消息,如果预先存在答案,这会增加值吗?