diff --git a/Eloquent/Relations/BelongsToMany.php b/Eloquent/Relations/BelongsToMany.php index 97306dee1..8c589b394 100755 --- a/Eloquent/Relations/BelongsToMany.php +++ b/Eloquent/Relations/BelongsToMany.php @@ -585,7 +585,7 @@ public function findOrNew($id, $columns = ['*']) */ public function firstOrNew(array $attributes) { - if (is_null($instance = $this->where($attributes)->first())) { + if (is_null($instance = $this->related->where($attributes)->first())) { $instance = $this->related->newInstance($attributes); } @@ -602,7 +602,7 @@ public function firstOrNew(array $attributes) */ public function firstOrCreate(array $attributes, array $joining = [], $touch = true) { - if (is_null($instance = $this->where($attributes)->first())) { + if (is_null($instance = $this->related->where($attributes)->first())) { $instance = $this->create($attributes, $joining, $touch); } @@ -620,7 +620,7 @@ public function firstOrCreate(array $attributes, array $joining = [], $touch = t */ public function updateOrCreate(array $attributes, array $values = [], array $joining = [], $touch = true) { - if (is_null($instance = $this->where($attributes)->first())) { + if (is_null($instance = $this->related->where($attributes)->first())) { return $this->create($values, $joining, $touch); }