Привет, всем!
Есть 3 таблицы :
Отношения в модели Product такие :
public function relations()
{
return array(
'attribute_values' => array(self::HAS_MANY, 'AttributeValue', 'product_id'),
);
}
В AttributeValue такие :
public function relations()
{
return array(
'attribute' => array(self::BELONGS_TO, 'Attribute', 'attribute_id'),
'product' => array(self::BELONGS_TO, 'Product', 'product_id'),
);
}
В Attribute такие :
public function relations()
{
return array(
'attribute_values' => array(self::HAS_MANY, 'AttributeValue', 'attribute_id'),
);
}
Выполняю такой код :
$product_id = 1;
$criteria = new CDbCriteria;
$criteria->condition = 't.id='.$product_id;
$criteria->with = array(
'attribute_values.attribute'
);
$attributes=Product::model()->find($criteria);
foreach($attributes as $attribute)
$arr[] = array(
'id'=>// Здесь необходимо получить Product.id
'name'=>// Здесь необходимо получить Attribute.name
'value'=>// Здесь необходимо получить AttributeValues.value
);
Нужно вытащить все названия атрибутов из Attribute.name и их значения из AttributeValues для определенного продукта.
Как можно получить столбцы Product.id, Attribute.name, AttributeValues.value в данном цикле?
Спасибо.