Здравствуйте. Как мне вывести название выбранной категории
(модели списков) у товара, если товары выводятся сразу на главной странице и инфа в которой категории он находиться тоже сразу?!
РЕШЕНИЕ:
В контроллере оставил подключение модели товаров и в выводе странице оставил так же все.
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'));
}
В модели товаров прописаны все связи
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']); // Один товар может иметь одну дополнительную породу дерева.
}
}
И в последующем выводе товаров, просто использовал эти get-еры:
<?= $buyNow->listModules->title ?>
И все заработало.