【问题标题】:Laravel OrderBy Method not working with paginate() methodLaravel OrderBy 方法不适用于 paginate() 方法
【发布时间】:2018-03-29 21:26:25
【问题描述】:

朋友们,我正在做一个 Laravel 项目。我遇到了一个问题,我试图使用 OrderBy() 方法。我得到的错误信息是

* BadMethodCallException*

方法 orderBy 不存在。

这是我的控制器代码

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Episode;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Carbon;

class EpisodeController extends Controller
{


public function __construct()
{
    $this->middleware('admincheck');
}

public function index()
{
    $episodes = Episode::paginate(10)->orderBy('episode_no','desc');        
    return view('episode.index',compact('episodes'));
}

index() 中,我使用了 paginate 函数,然后使用了 orderBy 函数,我认为这是错误的根源,但我没有不知道为什么?如果我只使用 paginate 功能,我不会得到错误。而且,如果我在 paginate 之后使用 latest function 等其他功能,我也会遇到同样的错误。我不知道我的代码有什么问题,所以请大家帮助我。谢谢。

【问题讨论】:

  • 你有没有尝试 orderBy() 1st 然后 paginate() 方法?例如:...::orderBy()-&gt;paginate()
  • 是的,首先使用 orderBy()。谢谢

标签: php laravel pagination eloquent sql-order-by


【解决方案1】:

把它当作

$episodes = Episode::orderBy('episode_no', 'DESC')->paginate(10);

【讨论】:

  • 您可以接受此答案,以便对其他人有所帮助。 @SuryaNeupane
【解决方案2】:

如果分页对象没有函数“orderby”,您可能需要将“orderby()”放在“paginate()”前面。

【讨论】:

    猜你喜欢
    • 2018-12-28
    • 1970-01-01
    • 2019-05-16
    • 2014-03-01
    • 1970-01-01
    • 2018-04-22
    • 1970-01-01
    • 1970-01-01
    • 2016-10-12
    相关资源
    最近更新 更多