从yii中的关系表中选择数据


Select data from relations table in yii

我从有关系的表中获取数据有一些问题。有3个表:Good、Shop_attr_value和Shop_good_attr_val。表Shop_attr_value有一个属性值(比如内存大小,或者处理器类型),而表Shop_good_attr_val有一个指向表Good and的外键Shop_attr_value(它们指向什么类型的内存有好处)。我需要fetchgood和她的处理器类型。我试过了:

    $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');

但是我得到了错误提示

未知列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'),
    );
}

如何获取这些数据?

我只是添加$criteria->with = array('goodAttrVals', 'goodAttrVals.attrValue');,其中goodAttrVals和attrValue是名称关系