Вывод 2-х массивов в foreach

Ma110y

Новичок
Использую фреймворк yii2. Делаю магазин.
Есть 2 таблицы: каталоги(подкаталоги) и товары.
Нужно сделать, чтобы при попадании в каталог, выводились сразу подкаталоги, потом товары, при этом чтобы работала пагинация. ниже прикреплю скрины таблиц и то что есть сейчас(только вывод подкаталогов с пагинацией.)

Таблицы



контроллер
PHP:
public function actionView_catalog($id){

    $catalog = ShopForm::getCatalog($id);

    $product = ProductForm::getall($id);

    $catalog_name = ShopForm::getCatalogName($id);

    $catalog_add = new ShopForm();



    $query = ShopForm::find() -> where(['id_catalog' => $id]) ;

    $countQuery = $query;


    $pages = new Pagination(['totalCount' => $countQuery->count(), 'pageSize' => 10]);

    $pages->pageSizeParam = false;
    $catalog = $query->offset($pages->offset)
        ->limit($pages->limit)
        ->all();

    if($catalog_add->load(Yii::$app->request->post()) && $catalog_add->validate()){

        $catalog_add -> id_catalog = $id;

        $catalog_add -> save();

        Yii::$app->session->setFlash('success','Подкаталог добавлен');

        return Yii::$app -> response -> redirect(['shop/view_catalog', 'id' => $id]);
         
    }


    return $this -> render('view_catalog', compact('catalog', 'pages','catalog_add','catalog_name','product'));
}

Вьюшка

PHP:
<table class="table">
    <?
    foreach ($catalog AS $cat){ ?>
        <tr>
            <td>
                <a href="<?=Url::to(['shop/product', 'id' => ''.$cat -> id.''])?>">
                    <?=$cat->name?>
                </a>
            </td>

            <td>
                <a href="<?=Url::to(['shop/update', 'id' => ''.$cat -> id.''])?>">
                    <i class="glyphicon glyphicon-pencil" style="font-size: 150%"></i>
                </a>
                <a href="<?=Url::to(['shop/del', 'id' => ''.$cat -> id.''])?>">
                    <i class="glyphicon glyphicon-remove" style="font-size: 150%"></i>
                </a>
            </td>
        </tr>
    <? }
    ?>
</table>



<?php
echo LinkPager::widget([
    'pagination' => $pages,
]);
?>
 
Последнее редактирование:
Сверху