【发布时间】:2015-12-17 00:49:06
【问题描述】:
所以我在“bugoverview”页面中遇到了一个bug。 (多讽刺)..
在从数据库中删除一个错误(id : 7 已删除)后,我才知道这种奇怪的排序方式
无论如何,问题如图所示:
我在一个简单的刀片 foreach 中获取所有行。
我的查询代码是:
$bugs_all = Bug::with('klant','user')->orderBy('id','asc')->get();
和
$projects_all = Project::all();
我的 foreach 代码:
@foreach($projects_all as $project)
@foreach($bugs_all as $bug)
@if(count($bugs_all) > 0)
@if($bug->project_id == $project->id)
<tr>
<td>{{$bug->id}}</td>
<td>{{substr($bug->titel,0,15)}}...</td>
<td>{{$bug->status}}</td>
<td>{{$bug->soort}}</td>
<td>
@if($bug->prioriteit == 'laag')
<span class="label label-success">Laag</span>
@elseif($bug->prioriteit == 'gemiddeld')
<span class="label label-warning">Gemmideld</span>
@elseif($bug->prioriteit == 'hoog')
<span class="label label-danger">Hoog</span>
@elseif($bug->prioriteit == 'kritisch')
<span class="label label-purple">Kritisch</span>
@else
<span class="label label-info">Geen prioriteit</span>
@endif
</td>
<td>{{date('d-m-y - H:i',strtotime($bug->eind_datum))}}</td>
@if($bug->klant)
<td>{{$bug->klant->voornaam .' '.$bug->klant->tussenvoegsel.' '. $bug->klant->achternaam}}</td>
@endif
<td>{{$project->projectnaam}}</td>
@if($bug->user)
<td>{{$bug->user->voornaam .' '.$bug->user->tussenvoegsel.' '. $bug->user->achternaam}}</td>
@else
<td>Geen</td>
@endif
<td>
<a href="/bugchat/{{$bug->id}}" class="">
<button type="submit" class="btn btn-success btn-xs">
<i class="glyphicon glyphicon-search"></i>
</button>
</a>
</td>
</tr>
@endif
@endif
@endforeach
@endforeach
【问题讨论】:
-
您发布的是否是单个项目的错误编号...?
-
不,这些是通过 mysql 排序的 5 行。@BasheerAhmed
-
dd($bugs_all->toArray()) 在控制器中查看顺序?
-
那说明你的项目没有升序
-
如果你的表是 InnoDB - InnoDB 是一个重用空间的引擎。您创建记录 1、2 和 3。然后您删除记录 2 并创建记录 4,默认顺序是 Id ASC 如下:1、4、3 - 因为记录 4 替换了记录 2 的空间。我会说这是因为你没有正确排序关系,使用 Eloquent 你也可以在关系上使用
orderBy。
标签: php laravel laravel-5.1