我尝试在 Yii 上使用以下代码关联两个表:
$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
那么,如何将表命名为 $stocks 或将其设为别名,以便消除歧义?
谢谢!
最佳答案
假设StocksModel
是$stocks
的原型(prototype)类,您可以执行以下操作。
$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();
关于php - 如何使用关系在 yii SQL 语句上创建别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45881605/