首页 > 解决方案 > Yii2. 一列重命名的多个innerJoinWith

问题描述

试图加入关系表。一切正常,除了一件事。结果我有两个相似的列名。但我不知道如何从查询中的相关“商店”表中重命名一列。

$query = StoreItem::find()->innerJoinWith('stores', true)->innerJoinWith('users', true);

$dataProvider = new ActiveDataProvider([
            'query' => $query,
]);

感谢任何帮助。

标签: joinactiverecordyii2

解决方案


您可以尝试像这样使用别名:

$query = StoreItem::find()
    ->alias('si')
    ->innerJoinWith('stores', true)->innerJoinWith('users', true);

或在您的模型中定义别名,如下所示:

public function getUserOrdersItems()
{
    return $this->hasMany(UserOrdersItems::className(), ['user_orders_id' => 'id'])->alias('orderItems');
}

这只是一个例子。您必须使用您的 3 个模型。


推荐阅读