SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'category_id' in where clause is ambiguous
The SQL being executed was: SELECT COUNT(*) FROM `product` `p` LEFT JOIN `product` ON `p`.`id` = `product`.`category_id` WHERE (`p`.`category_id`='1') AND (`category_id` IN ('1', '6', '7', '8'))
SQLSTATE[42000]: Syntax error or access violation: 1066 Not unique table/alias: 'product'
The SQL being executed was: SELECT COUNT(*) FROM `product` LEFT JOIN `product` ON `product`.`id` = `product`.`category_id` WHERE (`category_id`='1') AND (`category_id` IN ('1', '6', '7', '8'))
/**
* @return \yii\db\ActiveQuery
*/
public function getParent()
{
return $this->hasOne(Category::className(), ['id' => 'parent_id']);
}
/**
* @return \yii\db\ActiveQuery
*/
public function getCategories()
{
return $this->hasMany(Category::className(), ['parent_id' => 'id']);
}
/**
* @return \yii\db\ActiveQuery
*/
public function getProducts()
{
return $this->hasMany(Product::className(), ['category_id' => 'id']);
}
public function getChilds($id)
{
$query = Category::find()->where(['parent_id' => $id])->all();
return $query;
}/**
* @return \yii\db\ActiveQuery
*/
public function getCategory()
{
return $this->hasOne(Category::className(), ['id' => 'category_id']);
}
Оно обращается к одному и тому же category_id 2 раза...
Пробовал разные алиасы, но результат тот же