【发布时间】:2016-11-16 08:37:32
【问题描述】:
我的 Laravel 应用程序有一个简单的问题。但我找不到任何解决方案。请在此处查看我的代码:
控制者:
public function index(){
$members = Member::paginate(15);
$meal_entry = Member::all();
$breakfast = DB::SELECT("SELECT self_meal_breakfast + guest_meal_breakfast AS breakfast FROM meal_entry");
$lunch = DB::SELECT("SELECT self_meal_lunch + guest_meal_lunch AS lunch FROM meal_entry");
$dinner = DB::SELECT("SELECT self_meal_dinner + guest_meal_dinner AS dinner FROM meal_entry");
$total_meal = DB::SELECT("SELECT self_meal_breakfast + self_meal_lunch + self_meal_dinner + guest_meal_breakfast + guest_meal_lunch + guest_meal_dinner AS total FROM meal_entry");
return view('member.mealView', compact('members','data','breakfast','lunch','dinner','meal_entry','total_meal'));
}
刀片视图:
<tbody>
<tr>
@foreach($meal_entry as $value)
<td>{{ $value->created_at }}</td>
@endforeach
@foreach($breakfast as $value)
<td>{{ $value->breakfast }}</td>
@endforeach
@foreach($lunch as $value)
<td>{{ $value->lunch }}</td>
@endforeach
@foreach($dinner as $value)
<td>{{ $value->dinner }}</td>
@endforeach
@foreach($total_meal as $value)
<td>{{ $value->total }}</td>
@endforeach
@foreach($meal_entry as $value)
<td>{{ $value->created_at }}</td>
@endforeach
</tr>
</tbody>
还有桌子:meal_entry。
如果数据库中有一个row,则可以查看(see)。但是当row 超过一个时,它会显示在一个row包含所有数据(see)。我该如何处理这些事情?我认为它应该运行另一个循环,但我该怎么做?提前致谢。
【问题讨论】:
-
拜托,你能告诉我们这张桌子是什么样子的吗?谢谢!
-
@IdirOuhabMeskine 当然...prntscr.com/d7whid
-
因为数据在一个表中。您应该执行单个查询。
-
@KinshukLahiri 我如何用单个查询来做到这一点?因为我有一些不同的算术计算。你能告诉我吗?
-
而不是这四个查询早餐等。你应该只有一个,然后循环进去。
标签: php mysql laravel laravel-5.2