Skip to content

Commit 8a861e7

Browse files
committed
Merge branch 'theVannu/8.x' into 8.x
2 parents f3be71b + fefdd0a commit 8a861e7

File tree

3 files changed

+34
-0
lines changed

3 files changed

+34
-0
lines changed

src/Illuminate/Database/Eloquent/Builder.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1517,6 +1517,17 @@ public function qualifyColumn($column)
15171517
return $this->model->qualifyColumn($column);
15181518
}
15191519

1520+
/**
1521+
* Qualify the given columns with the model's table.
1522+
*
1523+
* @param array|\Illuminate\Database\Query\Expression $columns
1524+
* @return array
1525+
*/
1526+
public function qualifyColumns($columns)
1527+
{
1528+
return $this->model->qualifyColumns($columns);
1529+
}
1530+
15201531
/**
15211532
* Get the given macro by name.
15221533
*

src/Illuminate/Database/Eloquent/Model.php

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -434,6 +434,19 @@ public function qualifyColumn($column)
434434
return $this->getTable().'.'.$column;
435435
}
436436

437+
/**
438+
* Qualify the given columns with the model's table.
439+
*
440+
* @param array $columns
441+
* @return array
442+
*/
443+
public function qualifyColumns($columns)
444+
{
445+
return collect($columns)->map(function ($column) {
446+
return $this->qualifyColumn($column);
447+
})->all();
448+
}
449+
437450
/**
438451
* Create a new instance of the given model.
439452
*

tests/Database/DatabaseEloquentBuilderTest.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,16 @@ public function testQualifyColumn()
196196
$this->assertSame('stub.column', $builder->qualifyColumn('column'));
197197
}
198198

199+
public function testQualifyColumns()
200+
{
201+
$builder = new Builder(m::mock(BaseBuilder::class));
202+
$builder->shouldReceive('from')->with('stub');
203+
204+
$builder->setModel(new EloquentModelStub);
205+
206+
$this->assertEquals(['stub.column', 'stub.name'], $builder->qualifyColumns(['column', 'name']));
207+
}
208+
199209
public function testGetMethodLoadsModelsAndHydratesEagerRelations()
200210
{
201211
$builder = m::mock(Builder::class.'[getModels,eagerLoadRelations]', [$this->getMockQueryBuilder()]);

0 commit comments

Comments
 (0)