yii2 ActiveRecord查询以获取特定的关系对象

时间:2017-04-11 12:43:46

标签: mysql activerecord yii2 relationship

让我们说我有一个产品。该产品可以有多个文本。在我的查询中,我只想获得一个特定的文本。我不想得到所有的文本,然后循环到ckeck。那可能吗?我尝试了几件事:

$nameArticle = Product::find([
    'id',
    'pld.product_name as productName'
])
    ->from('product p')
    ->joinWith('productLanguageData.language')
    ->where(['p.id' => $value['product']])
    ->andWhere(['pl.iso_language' => 'es']) //query, please give me only spanish text.
    ->one();

这将返回包含所有语言的产品。

如何使此查询有效?

public function getLanguage()
{
    return $this->hasOne(ProductLanguage::className(), ['id' => 'language_id'])
        ->from(['pl' => ProductLanguage::tableName()]);
}

0 个答案:

没有答案