如何使用关系在 yii SQL 语句上创建别名?
How can I make an alias on yii SQL statement using relationships?
我正在尝试在 Yii 上使用以下代码关联两个 table:
$this->stocks= $stocks->find()->select(['id', 'type.name'])->joinWith('stockType type')->where(['fk_product' => $productId, 'fk_product_type' => 'type.id'])->all();
问题是:我想要股票 ID,但收到一条错误消息,提示 ID 不明确:
1052 Column 'id' in field list is ambiguous
那么,如何命名 table $stocks 或将其设为别名,以便消除歧义?
谢谢!
假设StocksModel
是$stocks
的prototype-class,你可以如下操作
$socksTableName = StocksModel::tableName();
$this->stocks= StocksModel::find()
->select([$socksTableName . '.id', 'type.name'])
->joinWith('stockType type')
->where([
'fk_product' => $productId,
'fk_product_type' => 'type.id'
])
->all();
我正在尝试在 Yii 上使用以下代码关联两个 table:
$this->stocks= $stocks->find()->select(['id', 'type.name'])->joinWith('stockType type')->where(['fk_product' => $productId, 'fk_product_type' => 'type.id'])->all();
问题是:我想要股票 ID,但收到一条错误消息,提示 ID 不明确:
1052 Column 'id' in field list is ambiguous
那么,如何命名 table $stocks 或将其设为别名,以便消除歧义?
谢谢!
假设StocksModel
是$stocks
的prototype-class,你可以如下操作
$socksTableName = StocksModel::tableName();
$this->stocks= StocksModel::find()
->select([$socksTableName . '.id', 'type.name'])
->joinWith('stockType type')
->where([
'fk_product' => $productId,
'fk_product_type' => 'type.id'
])
->all();