【发布时间】:2016-02-19 01:52:50
【问题描述】:
我有一个名为“Lesson”的模型,它有一个->hasMany() 关系,代表本课的日期。
要检索具有特定时间跨度内日期的每节课,我使用whereHas:
$list = Lesson::whereHas('dates', function ($query) use ($start, $end) {
$query->where('date','>=', $start->format('Y-m-d'))
->where('date','<=', $end->format('Y-m-d'));
})->get()
这按预期工作,但我现在想按与课程关联的“最小”日期对$list 进行排序。
最好我希望使用 Eloquent 模型,因为模型中有一些需要的方法。但如果不可能,也可以使用“普通”的 sql 语句。
【问题讨论】:
-
smallest日期是什么意思? -
最小的 = 最早的日期
-
那么,你为什么不按日期顺序按日期排序?
-
因为课程可以附加多个日期,所以mysql不知道使用哪个日期来订购。
标签: laravel eloquent relationship