Проблема с реляционным запросом в Yii2
Здравствуйте.
Поступила задача вывести голосование и все варианты ответов. Я пытаюсь сделать такой запрос:
$model = app\models\Reports::find()->where(['id'=>$model->id])->joinWith('reportData')->one();
Код реляционного запроса:
public function getReportData(){
return $this->hasMany(ReportsData::className(), ['report_id'=>'id'])->where(['can_take'=>1]);
}
Однако когда выполняется запрос №1($model = ...), получаю ошибку вида:
Integrity constraint violation – yii\db\IntegrityException
SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'id' in where clause is ambiguous
The SQL being executed was: SELECT `tb_reports`.* FROM `tb_reports` LEFT JOIN `tb_reports_data` ON `tb_reports`.`id` = `tb_reports_data`.`report_id` WHERE (`id`=1) AND (`can_take`=1)
Error Info: Array
(
[0] => 23000
[1] => 1052
[2] => Column 'id' in where clause is ambiguous
)
↵
Caused by: PDOException
SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'id' in where clause is ambiguous
in /var/www/yii2/vendor/yiisoft/yii2/db/Command.php at line 819
Подскажите, пожалуйста, что делать и в какую сторону копать?
Источник: Stack Overflow на русском