diff --git a/src/Query.php b/src/Query.php index b39325e..d473126 100644 --- a/src/Query.php +++ b/src/Query.php @@ -568,11 +568,12 @@ public function createSubQuery(Model $target, $targetPath, Model $from = null) $subQueryConditions = []; foreach ((array) $this->getModel()->getKeyName() as $column) { $fk = $subQueryResolver->qualifyColumn($column, $sourceAlias); + $ck = $from !== null ? $from->getKeyName() : $column; - if (isset($from->$column)) { - $subQueryConditions["$fk = ?"] = $from->$column; + if (isset($from->$ck)) { + $subQueryConditions["$fk = ?"] = $from->$ck; } else { - $subQueryConditions[] = "$fk = " . $resolver->qualifyColumn($column, $baseAlias); + $subQueryConditions[] = "$fk = " . $resolver->qualifyColumn($ck, $baseAlias); } }