Php 使用所选数据创建集合
我有以下代码:Php 使用所选数据创建集合,php,laravel,Php,Laravel,我有以下代码: $terms = $this->model ->where('course_terms.is_active', true) ->where(function ($query) use ($dateFrom, $dateTo) { if ($dateFrom != "" && $dateTo == "") {
$terms = $this->model
->where('course_terms.is_active', true)
->where(function ($query) use ($dateFrom, $dateTo) {
if ($dateFrom != "" && $dateTo == "") {
$query->whereDate('starting_at', '>=', $dateFrom);
} elseif ($dateFrom == "" && $dateTo != "") {
$query->whereDate('starting_at', '<=', $dateTo);
} else {
$query->whereBetween('starting_at', [$dateFrom, $dateTo]);
}
})
->select(['courses.short_name AS short_name', 'course_terms.*'])
->leftJoin('courses', 'courses.id', '=', 'course_terms.course_id')
->orderBy('starting_at', 'asc')
->get();
$termsArray = [];
foreach ($terms as $term)
{
dump($term);
}
很好
我需要在我的刀片上显示如下内容(当然是):
- nazwa 1号(简称)的术语为:2020-12-22、2020-12-25(起始于)
- 纳兹瓦2号(简称)的条款为:2020-12-27(起始日期为)
$terms = $this->model
->where('course_terms.is_active', true)
->where(function ($query) use ($dateFrom, $dateTo) {
if ($dateFrom != "" && $dateTo == "") {
$query->whereDate('starting_at', '>=', $dateFrom);
} elseif ($dateFrom == "" && $dateTo != "") {
$query->whereDate('starting_at', '<=', $dateTo);
} else {
$query->whereBetween('starting_at', [$dateFrom, $dateTo]);
}
})
->select(['courses.short_name AS short_name', 'course_terms.*'])
->leftJoin('courses', 'courses.id', '=', 'course_terms.course_id')
->orderBy('starting_at', 'asc')
->groupBy('created_by') // or your common column by which you identify person ('nazwa 1' as per example)
->get();
$terms=$this->model
->式中('course\u terms.is\u active',true)
->其中(函数($query)使用($dateFrom,$dateTo){
如果($dateFrom!=“”&&$dateTo=“”){
$query->whereDate('starting_at','>=',$dateFrom);
}elseif($dateFrom==“”&&$dateTo!=“”){
$query->whereDate('starting_at',”您可以尝试通过收集方法进行操作
$terms->groupBy('short_name'))
->地图(功能记录){
返回$records->map(函数($term){
返回$term->起始时间;
})->全部();
})->全部();
return me 2 courses,无条件:(您可以在这次尝试后发布您的收藏转储吗。
$terms = $this->model
->where('course_terms.is_active', true)
->where(function ($query) use ($dateFrom, $dateTo) {
if ($dateFrom != "" && $dateTo == "") {
$query->whereDate('starting_at', '>=', $dateFrom);
} elseif ($dateFrom == "" && $dateTo != "") {
$query->whereDate('starting_at', '<=', $dateTo);
} else {
$query->whereBetween('starting_at', [$dateFrom, $dateTo]);
}
})
->select(['courses.short_name AS short_name', 'course_terms.*'])
->leftJoin('courses', 'courses.id', '=', 'course_terms.course_id')
->orderBy('starting_at', 'asc')
->groupBy('created_by') // or your common column by which you identify person ('nazwa 1' as per example)
->get();