My next query builder
$query->where(["tableNameA.field" => "tableNameB.field"])
generates
...WHERE `tableNameA`.`field` = 'tableNameB.field'
And the desired it should be
...WHERE `tableNameA`.`field` = `tableNameB`.`field`
My next query builder
$query->where(["tableNameA.field" => "tableNameB.field"])
generates
...WHERE `tableNameA`.`field` = 'tableNameB.field'
And the desired it should be
...WHERE `tableNameA`.`field` = `tableNameB`.`field`
pass it as a string like so
$query->where("tableNameA.field = tableNameB.field")
Or as an expression like this
->where(['tableNameA.field' => new \yii\db\Expression('{{%tableNameB}}.[[field]]')])