Laravel:当我转换为json时如何保持orderBy?

时间:2017-04-28 16:46:27

标签: json eloquent laravel-5.4

我正在生成一个返回阵营结果的查询。我将它发送到另一个平台,将数据作为数组进行摘要。

我正在尝试按分数(从最高到最低)按顺序返回kickoffs

以下是查询的内容:

$camp = Camp::where('id', $camp_id)
    ->where('approved', 1)
    ->with(['athletes' => function ($q) use ($camp_id) {
        $q->with(['kickoffs' => function ($q) use ($camp_id) {
        $q->where('camp_id', $camp_id);
    }]);
    $q->with(['kickoff_results' => function ($q) use ($camp_id) {
        $q->where('camp_id', $camp_id);
        $q->orderBy('score', 'desc');
    }]);
    ...
})->first();

...
if ($camp) {
    return response()->json([
        'data' => $camp,
        ...
    ], 200);
}

在我的其他系统中,这就是我输出它的方式:

foreach ($context['camp']['data']['athletes'] as $athlete) {
    ...

    if (!empty($athlete['kickoff_results'])) {
        ...
    }
}

当结果最终呈现时,似乎没有任何顺序。

感谢您的任何建议!

0 个答案:

没有答案