【发布时间】:2016-05-22 21:31:48
【问题描述】:
我是 laravel 的新手,我自己在 laravel 5.2 中创建了一些测试项目来研究它。但是我现在在 laravel 5.2 中从 db 正确获取数据并显示结果时遇到了一些问题。我的数据库中有一个菜单表,其中包含字段-> id、menutype、itemname、itemprice、itemimage,其中包含一些数据。我想以特定方式在我的网页上显示它,如下面的屏幕截图所示。
见:
这是我的数据库表截图,上面有值。看:
我在我的控制器(GuestController.php)中添加了以下代码
public function menu() {
$result=DB::table('menu')->select('menutype')->distinct()->get();
return view('guest.menu')->with('data',$result);
}
在视图(menu.blade.php)中,我给出了以下代码:
<div class="row">
@foreach($data as $row)
<div class="col-1-3">
<div class="wrap-col">
<h3>{{$row->menutype}}</h3>
<?php
$item=DB::table('menu')->where('menutype', $row->menutype)->get();
?>
@foreach($item as $row)
<div class="post">
<a href="#"><img src="assets/images/{{$row->itemimage}}"/></a>
<div class="wrapper">
<h5><a href="#">{{$row->itemname}}</a></h5>
<span>Rs.{{$row->itemprice}}/-</span>
</div>
</div>
@endforeach
</div>
</div>
@endforeach
</div>
这工作得很好,我得到了所需的输出,如上面给出的产品页面截图所示。但我知道这种方法不正确,因为我在 View 本身上给出查询语句,如下所示以获取数据及其违反 MVC 概念:
<?php $item=DB::table('menu')->where('menutype', $row->menutype)->get(); ?>
那么我是否可以实施任何其他简单和更好的方法来获得上述所需的输出,同时保持 MVC 标准?请帮忙!提前谢谢...
【问题讨论】:
标签: php database laravel view controller