Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
всем привет! начал разбираться с laravel совсем недавно и столкнулся с некоторыми проблемами, в частности, с выводом данных при помощи шаблонизатора. Суть в чем - есть вывод категорий и подкатегорий, категории выводятся как нужно, а вот подкатегории повторяются для каждой категории, не могу понять как это побороть.
Ниже код выборки и вывода.
$cat = DB::select("select * from `category` limit 0,5");
$arr = [];
foreach ($cat as $cats) {
$arr['catname'][] = $cats->cat_name;
$arr['catdescr'][] = $cats->cat_description;
$podcat = DB::select("select * from `sub_category` where `cat_id` = ?", [$cats->cat_id]);
if (!empty($podcat)) {
foreach ($podcat as $subcat) {
$data['sub'][] = array('sub_name' => $subcat->sub_cat_name);
}
}
}
$data['result'] = array('name' => $arr['catname'], 'descr' => $arr['catdescr']);
return view('default.index', $data);
вывод результата:
<section class="divisions">
@for($i = 0; $i < 5; $i++)
<div class="divisions-icon wow fadeIn" data-wow-duration="2s">
<a href="">
{!! $result['descr'][$i] !!}
<p>{{ $result['name'][$i] }}</p>
</a>
</div>
@endfor
<div class="divisions-icon wow fadeIn" data-wow-duration="2s">
<a href="">
<i class="fa fa-th-large" aria-hidden="true"></i>
<p>Все категории</p>
</a>
</div>
</section>
<section class="all-categories">
@foreach($result['name'] as $cats)
<div class="categories1">
<div class="categories-img">
<img src="images/categories/categories1.png">
</div>
<ul>
<li><a href="">{{ $cats }}</a></li>
@if (!empty($sub))
@foreach($sub as $subcat)
<li><a href="">{{ $subcat['sub_name'] }}</a></li>
@endforeach
@endif
<li><a href="">Все подкатегории <i class="fa fa-angle-right" aria-hidden="true"></i></a></li>
</ul>
</div>
@endforeach
Не в сети
Нужно выборку делать одним запросом с LEFT JOIN. Если использовать ORM, в модели прописать внешние зависимости и использовать жадную загрузку.
Не в сети
Страницы 1