在这种情况下,我无法在laravel中进行分页
return $this->hasMany('App\News','category_id')->orderBy('id','desc')->paginate(20);
但是说错误。在控制器中,我也尝试过
$byCategories=Category::findOrFail($id)->paginate(20);`
它也表示错误。
救救我。
我的模特是
class Category extends Model
{
public function news()
{
return $this->hasMany('App\News','category_id')->orderBy('id','desc');
}
public function newsMany()
{
return $this->belongsToMany('App\News')->paginate(20);
}
public function user()
{
return $this->belongsTo('App\User');
}
public function getRouteKeyName()
{
return 'slug';
}
}
另一个模型是
class News extends Model
{
public function user()
{
return $this->belongsTo('App\User');
}
public function category()
{
return $this->belongsTo('App\Category');
}
}
我的控制器代码是
public function byCategory($id)
{
$byCategories=Category::findOrFail($id);
return view('back-end/news/byCategory', compact('byCategories'));
}
非常感谢您。
答案 0 :(得分:0)
模型中没有分页 这将在控制器中完成,例如,从此处删除(-> paginate(20);)
public function newsMany()
{
return $this->belongsToMany('App\News')->paginate(20);
}
仅保留为
public function newsMany()
{
return $this->belongsToMany('App\News');
}
并在返回视图时调用控制器中的分页
$news=Category::findOrFail($id)->newsMany()->paginate(20);
return view('view name', compact('news'));