@@ -166,7 +166,7 @@ protected function resolveRelationColumn(string $column): string
166
166
$ relation = str_replace ('[] ' , '' , implode ('. ' , $ parts ));
167
167
168
168
if ($ this ->isNotEagerLoaded ($ relation )) {
169
- return $ column ;
169
+ return parent :: resolveRelationColumn ( $ column) ;
170
170
}
171
171
172
172
return $ this ->joinEagerLoadedColumn ($ relation , $ columnName );
@@ -187,14 +187,14 @@ protected function joinEagerLoadedColumn($relation, $relationColumn)
187
187
$ lastQuery = $ this ->query ;
188
188
foreach (explode ('. ' , $ relation ) as $ eachRelation ) {
189
189
$ model = $ lastQuery ->getRelation ($ eachRelation );
190
- $ lastAlias = $ tableAlias ?: $ lastQuery -> getModel ()-> getTable ( );
190
+ $ lastAlias = $ tableAlias ?: $ this -> getTablePrefix ( $ lastQuery );
191
191
$ tableAlias = $ tableAlias .'_ ' .$ eachRelation ;
192
192
$ pivotAlias = $ tableAlias .'_pivot ' ;
193
193
switch (true ) {
194
194
case $ model instanceof BelongsToMany:
195
195
$ pivot = $ model ->getTable ().' as ' .$ pivotAlias ;
196
196
$ pivotPK = $ pivotAlias .'. ' .$ model ->getForeignPivotKeyName ();
197
- $ pivotFK = $ lastAlias .'. ' .$ model ->getParentKeyName ();
197
+ $ pivotFK = ltrim ( $ lastAlias .'. ' .$ model ->getParentKeyName (), ' . ' );
198
198
$ this ->performJoin ($ pivot , $ pivotPK , $ pivotFK );
199
199
200
200
$ related = $ model ->getRelated ();
@@ -210,7 +210,7 @@ protected function joinEagerLoadedColumn($relation, $relationColumn)
210
210
case $ model instanceof HasOneThrough:
211
211
$ pivot = explode ('. ' , $ model ->getQualifiedParentKeyName ())[0 ].' as ' .$ pivotAlias ; // extract pivot table from key
212
212
$ pivotPK = $ pivotAlias .'. ' .$ model ->getFirstKeyName ();
213
- $ pivotFK = $ lastAlias .'. ' .$ model ->getLocalKeyName ();
213
+ $ pivotFK = ltrim ( $ lastAlias .'. ' .$ model ->getLocalKeyName (), ' . ' );
214
214
$ this ->performJoin ($ pivot , $ pivotPK , $ pivotFK );
215
215
216
216
$ related = $ model ->getRelated ();
@@ -226,12 +226,12 @@ protected function joinEagerLoadedColumn($relation, $relationColumn)
226
226
case $ model instanceof HasOneOrMany:
227
227
$ table = $ model ->getRelated ()->getTable ().' as ' .$ tableAlias ;
228
228
$ foreign = $ tableAlias .'. ' .$ model ->getForeignKeyName ();
229
- $ other = $ lastAlias .'. ' .$ model ->getLocalKeyName ();
229
+ $ other = ltrim ( $ lastAlias .'. ' .$ model ->getLocalKeyName (), ' . ' );
230
230
break ;
231
231
232
232
case $ model instanceof BelongsTo:
233
233
$ table = $ model ->getRelated ()->getTable ().' as ' .$ tableAlias ;
234
- $ foreign = $ lastAlias .'. ' .$ model ->getForeignKeyName ();
234
+ $ foreign = ltrim ( $ lastAlias .'. ' .$ model ->getForeignKeyName (), ' . ' );
235
235
$ other = $ tableAlias .'. ' .$ model ->getOwnerKeyName ();
236
236
break ;
237
237
0 commit comments