laravel - Laravel:如何使用 hasMany 字段对集合进行排序
问题描述
我有五张桌子:
details
有领域id
,name
并且与贡献有很多关系。
purpose
有领域id
,name
并且与贡献有很多关系。
period
有领域id
,name
并且与贡献有很多关系。
user
有领域id
,name
并且与贡献有很多关系。
和
贡献有id
,amount
和 "belongsTo" 关系user_id, detail_id, purpose_id, period_id
现在,我想获取所有contributions
特定的user
(按 过滤user_id
),然后按period.name
、detail.name
和对结果进行排序purpose.name
。
有什么建议么?
该问题已被确定为Laravel orderBy 在关系上的可能重复项。但是有一个基本的区别。
在那里,用户与评论以及用户与帖子之间存在关系。但是在我的情况下,用户和详细信息/目的/周期表之间没有任何关系。
<?php
class User
{
public function comments()
{
return $this->hasMany('Comment');
}
}
在这种情况下是可能的,但同样的类比,在我的例子中,类 User 没有任何 details() 函数来获取 hasMany 关系。我的用户只与贡献表有关系,而贡献表与细节目的等表有关系。
希望我能够澄清差异。
解决方案
推荐阅读
- visual-studio - 使用 CMake 和 Visual Studio 自定义清理目标
- reactjs - React:在将外部数据存储在 Redux 后无法加载外部数据并将其传递给组件
- excel - 使用测量时,DAX 除法给了我奇怪的值
- python - 我正在尝试创建一个不和谐的机器人来播放音乐,它工作正常,但我的暂停和恢复命令不起作用
- python - Python Pickle Dump 上的 OSError
- python - Django - 从客户端电脑获取文件路径
- kubernetes - nginx-ingress 仍然需要 Google Cloud 默认后端
- javascript - 错误:2339 属性“setNativeProps”不存在类型“从不”
- oracle - 在 Oracle 19C 中的多个列上排名
- node.js - Devtools - 如何计算每个库的内存消耗