我从有关系的表中获取数据时遇到了一些问题。 我有3个表:Good,Shop_attr_value和Shop_good_attr_val.Table Shop_attr_value有一个属性值(比如内存大小或处理器类型),而Shop_good_attr_val有一个外键来表Good和 Shop_attr_value(他们指出了什么类型的内存有好处。)所以我需要获取Good和她的处理器类型。我试过这个:
$criteria = new CDbCriteria();
$criteria->together = true;
$criteria->join = 'JOIN tbl_shop_attr_value';
$criteria->with = 'goodAttrVals';
$criteria->select='t.name,tbl_shop_attr_value.value';
$criteria->addCondition('t.id = goodAttrVals.good_id AND ON tbl_shop_attr_value.id = goodAttrVals.attr_value_id');
但我得到的错误说
uknown列tbl_shop_attr_value.value
良好的关系:
public function relations()
{
return array(
'idGood' => array(self::HAS_MANY, 'GoodsColor', 'id_good'),
'category' => array(self::BELONGS_TO, 'Category', 'category_id'),
'brand' => array(self::BELONGS_TO, 'Brand', 'brand_id'),
'goodAttrVals' => array(self::HAS_MANY, 'GoodAttrVal', 'good_id'),
'goodImages' => array(self::HAS_MANY, 'GoodImage', 'good_id'),
'reviews' => array(self::HAS_MANY, 'Review', 'good_id', 'condition'=>'reviews.status=:status', 'params'=>array('status'=>Review::STATUS_ACTIVE), 'order'=>'reviews.id DESC'),
);
}
我如何获取此数据?
答案 0 :(得分:0)
我添加$criteria->with = array('goodAttrVals', 'goodAttrVals.attrValue');
其中goodAttrVals和attrValue是名称关系