我无法弄清楚什么是最好的冠军,但这就是我想要达到的目标。
我想要做的是让第一列像一个' ol'在html中,它为搜索结果编号。
我的刀片中有这个:
<table class="table table-bordered" style="text-align: left;">
<tr>
<th>Full Name (Last, First, Middle)</th>
<th>Encoded by</th>
</tr>
<tbody>
{!! $searchresults !!}
</tbody>
</table>
这是我的控制器
public function listofStaffTable(){
$staffs = DB::table('staff_profiles')->select('last_name','first_name','middle_name','encoded_by')->orderBy('last_name','ASC')->get();
$searchresults = ""; // define the searchresults variable
foreach( $staffs as $key => $profile ){
$searchresults .= '<tr>'.
'<td><a href="'. URL::route('viewstaffprofile', $profile->id) .'">'. $profile->last_name .' '. $profile->first_name .' '. $profile->middle_name .' </a></td>'.
'<td>'. $profile->encoded_by .'</td>'.
</tr>';
}
$data = [];
$data['searchresults'] = $searchresults;
return view( 'user/masterlist/list-of-staffs', $data);
}
因此,在插入新代码后,我应该在控制器中做什么。
顺便使用Laravel 5.2
答案 0 :(得分:1)
您尝试实现目标的方式有点违背“最佳做法”。最好的方法是将责任更好地封装起来。 (html生成属于控制器中的视图和逻辑)
因此,从控制器中删除所有html并在视图中执行生成(迭代)部分......您可以在那里迭代并生成html
public function listofStaffTable()
{
$staffs = DB::table('staff_profiles')
->select('last_name','first_name','middle_name','encoded_by')
->orderBy('last_name','ASC')
->get();
$data = [];
$data['searchresults'] = $searchresults;
return view( 'user/masterlist/list-of-staffs', $data);
}
<table class="table table-bordered" style="text-align: left;">
<tr>
<th>Order</th>
<th>Full Name (Last, First, Middle)</th>
<th>Encoded by</th>
</tr>
<tbody>
@foreach ($searchresults as $key => $profile )
<tr>
<!-- The current loop iteration (starts at 1). -->
<td> {{ $loop->iteration }} </td>
<td>
<a href="{{ route('viewstaffprofile', $profile->id) }} ">
{{ $profile->last_name }} {{ $profile->first_name }} {{ $profile->middle_name }}
</a>
</td>
<td> {{ $profile->encoded_by }} </td>
</tr>
@endforeach
</tbody>
</table>
我没有测试代码,我只是编辑给你一个想法。
答案 1 :(得分:0)
刀片模板:
<table class="table table-bordered" style="text-align: left;">
<tr>
<th>Order</th>
<th>Full Name (Last, First, Middle)</th>
<th>Encoded by</th>
</tr>
<tbody>
{!! $searchresults !!}
</tbody>
</table>
在你的控制器中:
public function listofStaffTable()
{
$staffs = DB::table('staff_profiles')->select('last_name','first_name','middle_name','encoded_by')->orderBy('last_name','ASC')->get();
$searchresults = ""; // define the searchresults variable
$i = 1; // just use a integer that increments when iterating over results
foreach( $staffs as $key => $profile )
{
$searchresults .= '<tr>'.
'<td>'.$i.'.</td>'.
'<td><a href="'. URL::route('viewstaffprofile', $profile->id) .'">'. $profile->last_name .' '. $profile->first_name .' '. $profile->middle_name .' </a></td>'.
'<td>'. $profile->encoded_by .'</td>'.
'</tr>';
$i++;
}
$data = [];
$data['searchresults'] = $searchresults;
return view( 'user/masterlist/list-of-staffs', $data);
}