我有一张桌子:
id, name, game_id(FK)
); id, name, round_id(FK)
); id, round
); 我需要按(round_id
)获取分析顺序的所有记录。
我尝试Analyses::orderBy('round_id')->get()
,但没有工作;
答案 0 :(得分:3)
首先,您的分析表中没有该列
要完成订单,你必须将它添加到您的关系中(假设它们已正确完成)
分析模型
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排序分析,每个分析中的游戏将按round_id排序
我希望这就是你想要做的事情
答案 1 :(得分:0)
"01:07:10"
分析模型
圆形模型
Set the following relationships in to the respective model as given below
游戏模型
public function games()
{
return $this->hasMany('Game','game_id','id');
}
您的查询应该像这样
public function analyses()
{
return $this->hasMany('Analyses','round_id','id');
}