Commit 12034734 authored by Taylor Otwell's avatar Taylor Otwell

revert eloquent back to 3.2.3

parent e8119f81
...@@ -255,22 +255,7 @@ abstract class Model { ...@@ -255,22 +255,7 @@ abstract class Model {
*/ */
public function _with($includes) public function _with($includes)
{ {
$includes = (array) $includes; $this->includes = (array) $includes;
$this->includes = array();
foreach ($includes as $relationship => $constraints)
{
// When eager loading relationships, constraints may be set on the eager
// load definition; however, is none are set, we need to swap the key
// and the value of the array since there are no constraints.
if (is_numeric($relationship))
{
list($relationship, $constraints) = array($constraints, null);
}
$this->includes[$relationship] = $constraints;
}
return $this; return $this;
} }
...@@ -533,7 +518,7 @@ abstract class Model { ...@@ -533,7 +518,7 @@ abstract class Model {
foreach ($this->attributes as $key => $value) foreach ($this->attributes as $key => $value)
{ {
if ( ! array_key_exists($key, $this->original) or $value !== $this->original[$key]) if ( ! isset($this->original[$key]) or $value !== $this->original[$key])
{ {
$dirty[$key] = $value; $dirty[$key] = $value;
} }
...@@ -567,7 +552,6 @@ abstract class Model { ...@@ -567,7 +552,6 @@ abstract class Model {
* Get a given attribute from the model. * Get a given attribute from the model.
* *
* @param string $key * @param string $key
* @return mixed
*/ */
public function get_attribute($key) public function get_attribute($key)
{ {
...@@ -723,7 +707,7 @@ abstract class Model { ...@@ -723,7 +707,7 @@ abstract class Model {
{ {
foreach (array('attributes', 'relationships') as $source) foreach (array('attributes', 'relationships') as $source)
{ {
if (array_key_exists($key, $this->$source)) return !is_null($this->$source[$key]); if (array_key_exists($key, $this->$source)) return true;
} }
if (method_exists($this, $key)) return true; if (method_exists($this, $key)) return true;
...@@ -754,7 +738,7 @@ abstract class Model { ...@@ -754,7 +738,7 @@ abstract class Model {
{ {
$meta = array('key', 'table', 'connection', 'sequence', 'per_page', 'timestamps'); $meta = array('key', 'table', 'connection', 'sequence', 'per_page', 'timestamps');
// If the method is actually the name of a static property on the model, we'll // If the method is actually the name of a static property on the model we'll
// return the value of the static property. This makes it convenient for // return the value of the static property. This makes it convenient for
// relationships to access these values off of the instances. // relationships to access these values off of the instances.
if (in_array($method, $meta)) if (in_array($method, $meta))
...@@ -764,7 +748,7 @@ abstract class Model { ...@@ -764,7 +748,7 @@ abstract class Model {
$underscored = array('with', 'find'); $underscored = array('with', 'find');
// Some methods need to be accessed both statically and non-statically so we'll // Some methods need to be accessed both staticly and non-staticly so we'll
// keep underscored methods of those methods and intercept calls to them // keep underscored methods of those methods and intercept calls to them
// here so they can be called either way on the model instance. // here so they can be called either way on the model instance.
if (in_array($method, $underscored)) if (in_array($method, $underscored))
......
...@@ -79,7 +79,6 @@ class Belongs_To extends Relationship { ...@@ -79,7 +79,6 @@ class Belongs_To extends Relationship {
/** /**
* Match eagerly loaded child models to their parent models. * Match eagerly loaded child models to their parent models.
* *
* @param string $relationship
* @param array $children * @param array $children
* @param array $parents * @param array $parents
* @return void * @return void
......
...@@ -83,7 +83,6 @@ class Has_Many extends Has_One_Or_Many { ...@@ -83,7 +83,6 @@ class Has_Many extends Has_One_Or_Many {
/** /**
* Match eagerly loaded child models to their parent models. * Match eagerly loaded child models to their parent models.
* *
* @param string $relationship
* @param array $parents * @param array $parents
* @param array $children * @param array $children
* @return void * @return void
......
...@@ -44,7 +44,7 @@ class Has_Many_And_Belongs_To extends Relationship { ...@@ -44,7 +44,7 @@ class Has_Many_And_Belongs_To extends Relationship {
$this->joining = $table ?: $this->joining($model, $associated); $this->joining = $table ?: $this->joining($model, $associated);
// If the Pivot table is timestamped, we'll set the timestamp columns to be // If the Pivot table is timestamped, we'll set the timestamp columns to be
// fetched when the pivot table models are fetched by the developer, or else // fetched when the pivot table models are fetched by the developer else
// the ID will be the only "extra" column fetched in by default. // the ID will be the only "extra" column fetched in by default.
if (Pivot::$timestamps) if (Pivot::$timestamps)
{ {
...@@ -61,8 +61,6 @@ class Has_Many_And_Belongs_To extends Relationship { ...@@ -61,8 +61,6 @@ class Has_Many_And_Belongs_To extends Relationship {
* *
* By default, the name is the models sorted and joined with underscores. * By default, the name is the models sorted and joined with underscores.
* *
* @param Model $model
* @param string $associated
* @return string * @return string
*/ */
protected function joining($model, $associated) protected function joining($model, $associated)
...@@ -88,7 +86,7 @@ class Has_Many_And_Belongs_To extends Relationship { ...@@ -88,7 +86,7 @@ class Has_Many_And_Belongs_To extends Relationship {
* Insert a new record into the joining table of the association. * Insert a new record into the joining table of the association.
* *
* @param int $id * @param int $id
* @param array $attributes * @param array $joining
* @return bool * @return bool
*/ */
public function attach($id, $attributes = array()) public function attach($id, $attributes = array())
...@@ -133,7 +131,7 @@ class Has_Many_And_Belongs_To extends Relationship { ...@@ -133,7 +131,7 @@ class Has_Many_And_Belongs_To extends Relationship {
} }
// Next we will take the difference of the current and given IDs and detach // Next we will take the difference of the current and given IDs and detach
// all of the entities that exist in the current array but are not in // all of the entities that exists in the current array but are not in
// the array of IDs given to the method, finishing the sync. // the array of IDs given to the method, finishing the sync.
$detach = array_diff($current, $ids); $detach = array_diff($current, $ids);
...@@ -319,7 +317,6 @@ class Has_Many_And_Belongs_To extends Relationship { ...@@ -319,7 +317,6 @@ class Has_Many_And_Belongs_To extends Relationship {
/** /**
* Match eagerly loaded child models to their parent models. * Match eagerly loaded child models to their parent models.
* *
* @param string $relationship
* @param array $parents * @param array $parents
* @param array $children * @param array $children
* @return void * @return void
...@@ -328,21 +325,14 @@ class Has_Many_And_Belongs_To extends Relationship { ...@@ -328,21 +325,14 @@ class Has_Many_And_Belongs_To extends Relationship {
{ {
$foreign = $this->foreign_key(); $foreign = $this->foreign_key();
$dictionary = array();
foreach ($children as $child)
{
$dictionary[$child->pivot->$foreign][] = $child;
}
foreach ($parents as &$parent) foreach ($parents as &$parent)
{ {
$parent_key = $parent->get_key(); $matching = array_filter($children, function($v) use (&$parent, $foreign)
if (isset($dictionary[$parent_key]))
{ {
$parent->relationships[$relationship] = $dictionary[$parent_key]; return $v->pivot->$foreign == $parent->get_key();
} });
$parent->relationships[$relationship] = array_values($matching);
} }
} }
...@@ -386,7 +376,7 @@ class Has_Many_And_Belongs_To extends Relationship { ...@@ -386,7 +376,7 @@ class Has_Many_And_Belongs_To extends Relationship {
/** /**
* Set the columns on the joining table that should be fetched. * Set the columns on the joining table that should be fetched.
* *
* @param array $columns * @param array $column
* @return Relationship * @return Relationship
*/ */
public function with($columns) public function with($columns)
......
...@@ -30,7 +30,6 @@ class Has_One extends Has_One_Or_Many { ...@@ -30,7 +30,6 @@ class Has_One extends Has_One_Or_Many {
/** /**
* Match eagerly loaded child models to their parent models. * Match eagerly loaded child models to their parent models.
* *
* @param string $relationship
* @param array $parents * @param array $parents
* @param array $children * @param array $children
* @return void * @return void
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment