Php 填写花名册时间表的最佳方法
各位程序员 我用PHP构建了一个花名册应用程序,框架是:Laravel。我有以下问题: 我的应用程序有:用户、Taskdate和TaskdateTime。每个用户都可以获得分配给他们的TaskdateTime。该TaskdateTime是Taskdate的子级。我想填充一个时间表,每个用户都可以看到他们所有的时间。时间表如下所示: 我在应用程序中所做的是:获取所有用户,获取所有Taskdate,并根据Taskdate,获取正确Taskdate的TaskdateTime。我是这样做的:Php 填写花名册时间表的最佳方法,php,mysql,laravel,eloquent,blade,Php,Mysql,Laravel,Eloquent,Blade,各位程序员 我用PHP构建了一个花名册应用程序,框架是:Laravel。我有以下问题: 我的应用程序有:用户、Taskdate和TaskdateTime。每个用户都可以获得分配给他们的TaskdateTime。该TaskdateTime是Taskdate的子级。我想填充一个时间表,每个用户都可以看到他们所有的时间。时间表如下所示: 我在应用程序中所做的是:获取所有用户,获取所有Taskdate,并根据Taskdate,获取正确Taskdate的TaskdateTime。我是这样做的: $tas
$taskdates = Taskdate::with('users')->where_date($date)->get();
$employees = Usergroup::with(array('users', 'users.workdates'))->where('usergroup_title', '=', 'Employees')->first();
您可以看到我获取usergroups,其关系为:Users和User->workdates关系。其中workdates返回上述TaskdateTime对象
现在在我看来,我这样做是为了用数据填充它。这似乎是一个额外的麻烦,我想这可以让我更容易,但我不能把我的头围绕它。无论如何,这是代码:
<table id="plan" class="table table-bordered">
<thead>
<th></th>
@foreach($taskdates as $taskdate)
<th id="{{ $taskdate->id }}">{{ $taskdate->subject }}</th>
@endforeach
</thead>
<tbody>
@foreach($employees as $employee)
<tr id="{{ $employee->id }}">
<td>{{ $employee->name }}</td>
@foreach($taskdates as $taskdate)
<?php
$result = array_filter($employee->workdates, function($user) use ($taskdate){
return $user->id === $taskdate->id;
});
?>
@if( empty($result) )
<td></td>
@else
<td id="{{$result[key($result)]->pivot->id }}" style="{{ ($result[key($result)]->pivot->taskdate_isread) ? '' : 'font-weight:bold;'}}">
{{date('H:i', strtotime($result[key($result)]->pivot->taskdate_time))}}
</td>
@endif
@endforeach
</tr>
@endforeach
</tbody>
</table>
@foreach($taskdates作为$taskdate)
{{$taskdate->subject}
@endforeach
@foreach($employees作为$employees)
{{$employee->name}
@foreach($taskdates作为$taskdate)
@if(空($result))
@否则
{{date('H:i',strottime($result[key($result)]->pivot->taskdate_-time))}
@恩迪夫
@endforeach
@endforeach
因此,我过滤每个用户的整个workdates关系,如果它包含Taskdate id,如果它是空的,则不回显任何内容
HTML/PHP的语法在BLADE中,因此PHP解析看起来可能不正确,但确实如此
编辑:
问题:
我的代码感觉臃肿。我不认为这是达到目的的最有效的方法。你对此有何看法?我希望尽可能高效。你的问题是什么?代码有效吗?是的,代码有效。但它感觉臃肿。我想知道这是否是最有效的方法。