【问题标题】:BadMethodCallException: Method Illuminate\Database\Eloquent\Collection::orderBy does not existBadMethodCallException:方法 Illuminate\Database\Eloquent\Collection::orderBy 不存在
【发布时间】:2021-11-18 00:17:39
【问题描述】:

当我尝试使用 orderBy() eloquent 的方法对输出数据进行排序时,我查看以下消息:BadMethodCallException: Method Illuminate\Database\Eloquent\Collection::orderBy 不存在。在第 103 行的文件 C:\xampp\htdocs\cerusbank\vendor\laravel\framework\src\Illuminate\Macroable\Traits\Macroable.php 中。

以下是我正在研究的方法:

public function getCardStatements(Request $request){
       if($request->id){
           $cardStatements = Card::with('statements')->where('id', $request->id)->get();
           return response()->json($cardStatements->orderBy('statements.registration_date', 'asc'));
        }
        return response()->json(array('return'=>false));

【问题讨论】:

    标签: php laravel eloquent


    【解决方案1】:

    使用->get()后,这变成了一个集合。您将需要使用集合中的方法。 orderBy 集合中不存在。你可以改用sortBy

    以下是您可以使用的所有可用收集方法。 https://laravel.com/docs/8.x/collections#available-methods

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-11
      • 2020-11-21
      • 2021-09-08
      • 2020-11-13
      • 2019-12-11
      • 2020-02-04
      • 2019-11-12
      • 2019-05-24
      相关资源
      最近更新 更多