Извлечь данные из отношений

Я делаю интернет-магазин. У меня две модели: Product и Category . Product может иметь одну категорию, в то время как категория может иметь много продуктов.

Я определил отношения в models . Я могу получить доступ к категориям и продуктам. Но я хочу получить все продукты из определенной категории. Я пробовал много примеров реляционных запросов с «ленивым» и «нетерпеливым» подходом из официальной документации, но без успеха. Не могли бы вы объяснить, как его реализовать?

Вот мой код:

Контроллер категории:

 public function relations() { return array( 'products' => array(self::HAS_MANY, 'Product', 'category_id'), ); } 

Контроллер продукта:

 public function relations() { return array( 'category' => array(self::BELONGS_TO, 'Category', 'category_id'), ); } 

Спасибо.

Ты можешь сделать

 Category::model()->with('products')->findByPk(1); 

вы можете получить доступ к таким полям, как

 $the_category->products->name 

Это возвращает массив, и вы можете видеть содержимое для debugging purposes

 CVarDumper::Dump($the_category->products->name,100,true); 

вы можете использовать цикл foreach для доступа к каждому index

 $products = $the_category->products; foreach ($products as $the_product) { echo "Name: " . $the_product['name'] . "<br />"; }