gpt4 book ai didi

php - Order by for relationship in eloquent

转载 作者:搜寻专家 更新时间:2023-10-31 20:35:10 25 4
gpt4 key购买 nike

我有一张 table :

  1. 分析,列(id, name, game_id(FK));
  2. 游戏,列(id, name, round_id(FK));
  3. 圆,列(id, round);

我需要获取按 (round_id) 排序的所有 Analysis 记录。

我尝试了 Analyses::orderBy('round_id')->get(),但没有用;

最佳答案

首先,您的分析表中没有该列

要执行 orderby,您必须将其添加到您的关系中(假设它们已正确完成)

分析模型

public function games()
{
return $this->hasMany(Game::class)->orderBy('round_id'); //see? we can add orderBy to the relation
}

游戏模型

public function rounds()
{
return $this->hasMany(Round::class); // i dont know if its manytomany for eal, im just trying to explain
}

现在您可以像这样使用预加载获取游戏和回合的所有分析

$test = Analyses::with('games.round')->get();

例如,您可以像这样为分析链接另一个 orderby

$test = Analyses::with('games.round')->orderby('game_id')->get();

在上面的示例中,您将按 game_id 排序 Analyzes,每个 Analyze 中的游戏将按 round_id 排序

希望这就是你想要做的

关于php - Order by for relationship in eloquent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37516509/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com