Php CDbCriteria仅返回一个表数据,而不是从关联表返回的数据
我正在使用yii和CDbCriteria使用join从3个表中获取结果。以下是我迄今为止所做的:Php CDbCriteria仅返回一个表数据,而不是从关联表返回的数据,php,mysql,sql,join,yii,Php,Mysql,Sql,Join,Yii,我正在使用yii和CDbCriteria使用join从3个表中获取结果。以下是我迄今为止所做的: $criteria->select = 't.product_id, t.title, t1.title, t2.filename,'; $criteria->join = 'INNER JOIN shop_category as t1 ON t1.category_id = t.category_id'; $criteria->join .= ' INNER JOIN sho
$criteria->select = 't.product_id, t.title, t1.title, t2.filename,';
$criteria->join = 'INNER JOIN shop_category as t1 ON t1.category_id = t.category_id';
$criteria->join .= ' INNER JOIN shop_image as t2 ON t2.product_id = t.product_id';
但它只给了我t.product_id和t.title,而没有其他两个。
当我在phpMyAdmin上运行此查询时,它完美地给出了所有结果!
我做错了什么?如果对活动记录使用条件,则填充的数据在模型属性和属性的范围内 但是您可以将其他列作为模型的属性 假设您的模型中有productTitle和productFilename:
$criteria->select = 't.product_id, t.title, t1.title as productTitle, t2.filename as productFilename';
如果将条件与活动记录一起使用,则填充的数据在模型属性和属性的范围内 但是您可以将其他列作为模型的属性 假设您的模型中有productTitle和productFilename:
$criteria->select = 't.product_id, t.title, t1.title as productTitle, t2.filename as productFilename';
如果条件是model()->findAll($criteria)调用的一部分,则OP将丢失数据。如果条件是model()->findAll($criteria)调用的一部分,Spot on.OP将丢失数据。完全正确