Skip to content

Commit

Permalink
Implement isDirty (#74)
Browse files Browse the repository at this point in the history
* Fix problem introduced in pr #70

 #70 (comment)

* rename internal method

* implement isDirty()

* clean syntax.
  • Loading branch information
romaninsh authored and DarkSide666 committed Jul 25, 2016
1 parent f54b8da commit 94d9327
Showing 1 changed file with 30 additions and 3 deletions.
33 changes: 30 additions & 3 deletions src/Model.php
Original file line number Diff line number Diff line change
Expand Up @@ -369,6 +369,30 @@ private function normalizeFieldName($field)
return $field;
}

/**
* Will return true if any of the specified fields are dirty.
*
* @param string|array $field
*
* @return bool
*/
public function isDirty($fields = [])
{
if (!is_array($fields)) {
$fields = [$fields];
}

foreach ($fields as $field) {
$field = $this->normalizeFieldName($field);

if (isset($this->dirty[$field])) {
return true;
}
}

return false;
}

/**
* Set field value.
*
Expand Down Expand Up @@ -1197,6 +1221,9 @@ public function join($foreign_table, $defaults = [])
*/
public function leftJoin($foreign_table, $defaults = [])
{
if (!is_array($defaults)) {
$defaults = ['master_field' => $defaults];
}
$defaults['weak'] = true;

return $this->join($foreign_table, $defaults);
Expand All @@ -1215,7 +1242,7 @@ public function leftJoin($foreign_table, $defaults = [])
*
* @return object
*/
protected function _hasSomething($c, $link, $defaults = [])
protected function _hasRelation($c, $link, $defaults = [])
{
if (!is_array($defaults)) {
if ($defaults) {
Expand Down Expand Up @@ -1243,7 +1270,7 @@ protected function _hasSomething($c, $link, $defaults = [])
*/
public function hasOne($link, $defaults = [])
{
return $this->_hasSomething($this->_default_class_hasOne, $link, $defaults);
return $this->_hasRelation($this->_default_class_hasOne, $link, $defaults);
}

/**
Expand All @@ -1256,7 +1283,7 @@ public function hasOne($link, $defaults = [])
*/
public function hasMany($link, $defaults = [])
{
return $this->_hasSomething($this->_default_class_hasMany, $link, $defaults);
return $this->_hasRelation($this->_default_class_hasMany, $link, $defaults);
}

/**
Expand Down

0 comments on commit 94d9327

Please sign in to comment.