N
N
Nikolai2019-05-29 23:41:40
Yii
Nikolai, 2019-05-29 23:41:40

[SOLVED] How to display the attached category to the product immediately?

Hello. How can I display the name of the selected category (list model) for the product, if the products are displayed immediately on the main page and infa in which category it is located right away too?!
SOLUTION:
In the controller, I left the connection of the product model and left everything the same in the output page.

use app\models\CardCatalog;

/*	Displays catalog page. */
public function actionCatalog()
    {
    // Выведем товары, которые можно купить сейчас.
  $buy_now = CardCatalog::find()->where(['buy_now' => '1'])->all();
    // Выведем товары, которые можно заказать.
  $pr_order = CardCatalog::find()->where(['buy_now' => '0'])->all();
  $this->setMeta('Простор | Каталог'); // Установка имени вкладки.
  return $this->render('catalog', compact('buy_now', 'pr_order'));
    }

All links are registered in the product model
class CardCatalog extends ActiveRecord {
  public static function tableName() {
    // Таблица товаров каталога.
    return 'CardCatalog';
  }
  
  public function getListModules() {
    // Связь с таблицей модулей.
    return $this->hasOne(ListModules::className(), ['id' => 'modules_id']); // Один товар, может иметь один модуль.
  }
  public function getListType() {
    // Связь с таблицей типа модуля.
    return $this->hasOne(ListType::className(), ['id' => 'type_id']); // Один товар, может иметь один тип модуля.
  }
  public function getListWood() {
    // Связь с таблицей породы дерева модуля.
    return $this->hasOne(ListWood::className(), ['id' => 'wood_id']); // Один товар, может иметь одну породу дерева.
  }
  public function getListWoodDop() {
    // Связь с таблицей дополнительной породы дерева модуля.
    return $this->hasOne(ListWood::className(), ['id' => 'dop_wood_id']); // Один товар может иметь одну дополнительную породу дерева.
  }
}

And in the subsequent output of the goods, I simply used these get-ers: And it all worked.
<?= $buyNow->listModules->title ?>

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question