laravel - Laravel 雄辩的子查询顺序
问题描述
我在子查询(姓氏,名字)中按列排序时遇到问题。
我已经按照其他帖子的建议尝试了此代码:
->with(['customer' => function ($query) {
$query->orderBy("lastname", "asc")
->orderBy("firstname", "asc");
}])
这是我的完整代码,但它不起作用。
return Membership::forCompany($companyId)
->whereIn('state', ['ATTIVA', 'IN ATTESA DI ESITO', 'DA INVIARE'])
->where(function ($query) {
$query->where('end_date', '>=', Carbon::now()->toDateString())
->orWhereNull('end_date');
})
->with('federation')
->with(['customer' => function ($query) {
$query->orderBy("lastname", "asc")
->orderBy("firstname", "asc");
}]);
这里的关系:
在客户模型中,我有:
public function memberships() {
return $this->hasMany('App\Models\Membership');
}
在会员模型中,我有:
public function customer() {
return $this->belongsTo("App\Models\Customer");
}
解决方案
尝试orderBy()
像join()
:
$memberships = \DB::table("memberships")
->where("company_id", $companyId)
->where(function ($query) {
$query->where('end_date', '>=', Carbon::now()->toDateString())
->orWhereNull('end_date');
})
->join("customers", "memberships.customer_id", "customers.id")
->select("customers.*", "memberships.*")
->orderBy("customers.lastname", "asc")
->get();
dd($memberships);
如果您仍有问题,请告诉我。注意,代码未经测试!所以你可能需要自己验证一次。
推荐阅读
- powershell - Powershell 使用发送邮件消息
- kotlin - 无法运行 Kotlin 项目(没有运行菜单)
- ios - 由于 xcodebuild 命令中的 CODE_SIGN_IDENTITY,CircleCI 构建失败
- html - 如何将文本与圆圈分开
- java - JAX-WS 将 Username-Token 添加到 SOAP-Header
- java - 405 Method Not Allowed when deploying artifact to Nexus
- javascript - Javascript 将一些计算结果一一追加到表行中
- javascript - 将锚标记作为自身传递给函数而不是通过 id
- android - 如何在 Nativescript 中的嵌套 ListView 上启用滚动?
- kubernetes - Promtail 忽略 extraScrapeConfigs