【发布时间】:2017-02-16 10:19:03
【问题描述】:
我正在使用 laravel 5.3 我有一个响应导航菜单,当我单击域时,它会显示我在 DB 中已有的所有域,然后当我单击其中一个域时,我会得到相应的项目。
现在,我希望当我单击项目时,它会在表格中显示所有相应的数据。但是,这就是我得到的:
这是项目控制器:
public function index(Request $request)
{
$projects1=DB::table('projects')->where('domain_id', '=', 1)->get();
$projects2=DB::table('projects')->where('domain_id', '=', 2)->get();
$projects3=DB::table('projects')->where('domain_id', '=', 3)->get();
return view('projects.index',compact('projects', 'projects1', 'projects2', 'projects3'));
}
这是 index.blade.php :
<div class="nav-side-menu">
<div class="brand">Menu</div>
<i class="fa fa-bars fa-2x toggle-btn" data-toggle="collapse" data-target="#menu-content"></i>
<div class="menu-list">
<ul id="menu-content" class="menu-content collapse out">
<li data-toggle="collapse" data-target="#products" class="collapsed active">
<a href="#"><i class="fa fa-gift fa-lg"></i> Domains <span class="arrow"></span> </a>
</li>
<ul class="sub-menu collapse" id="products">
<li data-toggle="collapse" data-target="#domain1_projet" class="collapsed active">
<a href="#"><i class="fa fa-gift fa-lg"></i> Domain 1 <span class="arrow"></span></a>
</li>
<ul class="sub-menu collapse" id="domain1_projet">
@foreach ($projects1 as $key => $project)
<li><a href="#">{{$project->title}}</a></li>
@endforeach
<table class="table table-bordered">
<tr>
<th>No</th>
<th>title</th>
<th>code</th>
<th>domain_id</th>
</tr>
@foreach ($projects1 as $key => $project1)
<tr>
<td>{{ ++$i }}</td>
<td>{{ $project1->title }}</td>
<td>{{ $project1->code }}</td>
<td>{{ $project1->domain_id}}</td>
</tr>
@endforeach
</table>
</ul>
<li data-toggle="collapse" data-target="#domain2_projet" class="collapsed active">
<a href="#"><i class="fa fa-gift fa-lg"></i> Domain 2 <span class="arrow"></span></a>
</li>
<ul class="sub-menu collapse" id="domaine2_projet">
@foreach ($projects2 as $key => $project)
<li><a href="#">{{$project->title}}</a></li>
@endforeach
</ul>
</ul>
</ul>
</div>
</div>
我在 table 之前添加的 @if 子句只是为了测试,但我需要更改它。我希望能够不以手动方式显示每个项目的数据。我也想知道点击链接时如何显示和隐藏每个项目的信息。
正如您在index.blade.php 中看到的那样,这是因为我已经知道我所做的项目名称if (($project->intitule)=="Title") 和elseif(($project->intitule)=="Project2") 但是,实际上我在数据库中有很多项目。我怎样才能显示所有项目,然后当我单击其中一个时,如何获得包含该特定项目信息的表格
【问题讨论】:
-
如果你想点击特定的项目ID并显示关于这个项目的信息“不刷新页面”你可以使用AJAX。否则,如果您只想显示所有数据,请尝试在其他循环 foreach 中插入循环 foreach
标签: php laravel navigation blade