Загрузка...

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

Тема в разделе Программирование создана пользователем ma110y 24 авг 2018. 165 просмотров

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

    Таблицы
    [IMG]
    [IMG]

    Контраллер

    Код

    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'));
    }

    Вьюшка

    Код

    <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,
    ]);
    ?>
     
Top
Загрузка...