【问题标题】:Does the method get() and paginate() work in laravel 7.3方法 get() 和 paginate() 在 laravel 7.3 中是否有效
【发布时间】:2020-12-08 12:54:07
【问题描述】:
<?php

    namespace App\Http\Controllers;
    use Illuminate\Http\Request;
    use App\Exam;
    use App\Module;
    use App\Dapartment;
    use DB;


    class PastexController extends Controller
    {
    //
    public function index()
    {
        $xams=DB::table('exams')
            ->join('modules', 'modules.id', '=', 'exams.module_code_id')
            ->where('exams.views', '!=', '0')
            ->select('exams.views','modules.name_of_modue', 'modules.code','exams.id','exams.yr', 'exams.month')
            
            ->get()->sortByDesc('views')
       

    ->paginate(7);
        return view('pastex/home', ['xams'=>$xams]);
    }
    }

这是我收到的错误消息 坏方法调用异常 方法 Illuminate\Support\Collection::paginate 不存在。

【问题讨论】:

  • 我想对结果进行分页,但它给了我一个错误
  • 到底是什么问题?!是的 -&gt;get()-&gt;paginate() 在 Laravel 7.3 中工作
  • "它给了我一个错误" 请edit您的问题并粘贴您收到的错误消息
  • 这里没有看到任何分页代码。
  • 是的,它适用于 laravel 7.3 @PhilmonChigwagwa

标签: php laravel get laravel-7 php-7.3


【解决方案1】:

使用get() 返回一个集合,而paginate 属于查询生成器。您需要使用paginate 而不是get,并将排序移动到查询构建器而不是集合。

 $xams=DB::table('exams')
            ->join('modules', 'modules.id', '=', 'exams.module_code_id')
            ->where('exams.views', '!=', '0')
            ->select('exams.views','modules.name_of_modue', 'modules.code','exams.id','exams.yr', 'exams.month')
            ->orderByDesc('exams.views')
            ->paginate(7);

【讨论】:

  • 按照上述建议后,它工作正常,但它没有将浏览次数最多的论文放在列表的顶部
  • 确保添加了orderByDesc 行,它告诉数据库如何对查询进行排序。
猜你喜欢
  • 2019-05-16
  • 2018-03-29
  • 2018-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多