cleaning up code.
This commit is contained in:
@@ -183,7 +183,7 @@ class Query {
|
|||||||
$query->table->where_nested($constraints);
|
$query->table->where_nested($constraints);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Before matching the models, we will initialize the relationship
|
// Before matching the models, we will initialize the relationships
|
||||||
// to either null for single-value relationships or an array for
|
// to either null for single-value relationships or an array for
|
||||||
// the multi-value relationships as their baseline value.
|
// the multi-value relationships as their baseline value.
|
||||||
$query->initialize($results, $relationship);
|
$query->initialize($results, $relationship);
|
||||||
|
|||||||
@@ -239,7 +239,7 @@ class Has_Many_And_Belongs_To extends Relationship {
|
|||||||
$this->with = array_merge($this->with, array($foreign, $other));
|
$this->with = array_merge($this->with, array($foreign, $other));
|
||||||
|
|
||||||
// Since pivot tables may have extra information on them that the developer
|
// Since pivot tables may have extra information on them that the developer
|
||||||
// needs, we allow an extra array of columns to be specified that will be
|
// needs we allow an extra array of columns to be specified that will be
|
||||||
// fetched from the pivot table and hydrate into the pivot model.
|
// fetched from the pivot table and hydrate into the pivot model.
|
||||||
foreach ($this->with as $column)
|
foreach ($this->with as $column)
|
||||||
{
|
{
|
||||||
@@ -314,9 +314,14 @@ class Has_Many_And_Belongs_To extends Relationship {
|
|||||||
{
|
{
|
||||||
$foreign = $this->foreign_key();
|
$foreign = $this->foreign_key();
|
||||||
|
|
||||||
|
// For each child we'll just get the parent that connects to the child and set the
|
||||||
|
// child model on the relationship array using the keys. Once we're done looping
|
||||||
|
// through the children all of the proper relations will be set.
|
||||||
foreach ($children as $key => $child)
|
foreach ($children as $key => $child)
|
||||||
{
|
{
|
||||||
$parents[$child->pivot->$foreign]->relationships[$relationship][$child->{$child->key()}] = $child;
|
$parent =& $parents[$child->pivot->$foreign];
|
||||||
|
|
||||||
|
$parent->relationships[$relationship][$child->{$child->key()}] = $child;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -337,7 +342,7 @@ class Has_Many_And_Belongs_To extends Relationship {
|
|||||||
|
|
||||||
// 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
|
||||||
// from the model since it actually belongs to the pivot.
|
// from the model since it actually belongs to the pivot model.
|
||||||
foreach ($result->attributes as $key => $value)
|
foreach ($result->attributes as $key => $value)
|
||||||
{
|
{
|
||||||
if (starts_with($key, 'pivot_'))
|
if (starts_with($key, 'pivot_'))
|
||||||
@@ -367,9 +372,9 @@ class Has_Many_And_Belongs_To extends Relationship {
|
|||||||
{
|
{
|
||||||
$columns = (is_array($columns)) ? $columns : func_get_args();
|
$columns = (is_array($columns)) ? $columns : func_get_args();
|
||||||
|
|
||||||
// The "with" array contains a couple of columns by default, so we will
|
// The "with" array contains a couple of columns by default, so we will just
|
||||||
// just merge in the developer specified columns here, and we'll make
|
// merge in the developer specified columns here, and we will make sure
|
||||||
// sure the values of the array are unique.
|
// the values of the array are unique to avoid duplicates.
|
||||||
$this->with = array_unique(array_merge($this->with, $columns));
|
$this->with = array_unique(array_merge($this->with, $columns));
|
||||||
|
|
||||||
$this->set_select($this->foreign_key(), $this->other_key());
|
$this->set_select($this->foreign_key(), $this->other_key());
|
||||||
|
|||||||
Reference in New Issue
Block a user