Fix bug with many-to-many relationships on non-default database connection.
This commit is contained in:
parent
9ed91af1e8
commit
b5f5927fa7
|
@ -20,11 +20,13 @@ class Pivot extends Model {
|
||||||
* Create a new pivot table instance.
|
* Create a new pivot table instance.
|
||||||
*
|
*
|
||||||
* @param string $table
|
* @param string $table
|
||||||
|
* @param string $connection
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function __construct($table)
|
public function __construct($table, $connection = null)
|
||||||
{
|
{
|
||||||
$this->pivot_table = $table;
|
$this->pivot_table = $table;
|
||||||
|
$this->connection = $connection;
|
||||||
|
|
||||||
parent::__construct(array(), true);
|
parent::__construct(array(), true);
|
||||||
}
|
}
|
||||||
|
@ -39,4 +41,14 @@ public function table()
|
||||||
return $this->pivot_table;
|
return $this->pivot_table;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the connection used by the pivot table.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function connection()
|
||||||
|
{
|
||||||
|
return $this->connection;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -349,7 +349,7 @@ protected function hydrate_pivot(&$results)
|
||||||
// Every model result for a many-to-many relationship needs a Pivot instance
|
// Every model result for a many-to-many relationship needs a Pivot instance
|
||||||
// to represent the pivot table's columns. Sometimes extra columns are on
|
// to represent the pivot table's columns. Sometimes extra columns are on
|
||||||
// the pivot table that may need to be accessed by the developer.
|
// the pivot table that may need to be accessed by the developer.
|
||||||
$pivot = new Pivot($this->joining);
|
$pivot = new Pivot($this->joining, $this->model->connection());
|
||||||
|
|
||||||
// If the attribute key starts with "pivot_", we know this is a column on
|
// If the attribute key starts with "pivot_", we know this is a column on
|
||||||
// the pivot table, so we will move it to the Pivot model and purge it
|
// the pivot table, so we will move it to the Pivot model and purge it
|
||||||
|
@ -400,7 +400,9 @@ public function with($columns)
|
||||||
*/
|
*/
|
||||||
public function pivot()
|
public function pivot()
|
||||||
{
|
{
|
||||||
return new Has_Many($this->base, new Pivot($this->joining), $this->foreign_key());
|
$pivot = new Pivot($this->joining, $this->model->connection());
|
||||||
|
|
||||||
|
return new Has_Many($this->base, $pivot, $this->foreign_key());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue