尝试加入关系表。一切正常,除了一件事。结果,我有两个相似的列名。但是我不知道如何重命名查询中相关“商店”表中的一列。
$query = StoreItem::find()->innerJoinWith('stores', true)->innerJoinWith('users', true);
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
感谢任何帮助。
答案 0 :(得分:0)
您可以为表设置别名,并在查询中指定所需的列。就像:
$query = StoreItem::find()->select('us.desiredcolumn, st.desiredcolumn')->innerJoinWith('stores as st', true)->innerJoinWith('users as us', true);
我不知道它是否有效,但这是一个主意...
答案 1 :(得分:0)
您可以与商店建立特殊关系:
public function getStoresSpec()
{
return $this->hasOne(Stores::tableName(), ['id' => 'store_id'])->select('column as another_column', ...);
}
在这里,您将'column'别名设置为'another_column'。不要忘记添加此关系所需的所有其他字段。