【发布时间】:2017-08-01 22:39:35
【问题描述】:
我的用户模型上有一个自定义属性,用于计算其他一些表的长度并返回一个整数值:
public function GetCurrentQueueLengthAttribute()
{
// return int
}
然后我有一个 API 端点,它返回一个包含所有用户的“团队”(简单的 Spark 枢轴)
public function show($teamId)
{
$query = Team::query();
$query->with('users')->where('id', $teamId);
$team = $query->first();
return $team->users->sortBy('currentQueueLength');
return $team;
}
问题是返回的数据没有改变顺序。没有错误,只是每次用户的顺序相同。
我有什么遗漏吗?
【问题讨论】:
-
@ka_lin 似乎更像是一个后续行动,而不是一个骗子
-
@user3158900 很遗憾,我错了:(
-
$team->users()->sortBy('currentQueueLength') 你需要强制 laravel 进行查询
-
sortBy不是一个能言善辩的用户,请尝试更改为return $team->users()->sortBy('currentQueueLength');这将首先获取结果而不是对结果集进行排序