Browse Source

fix eloquent->delete bug.

Taylor Otwell 12 years ago
parent
commit
75f6384767

+ 13 - 0
laravel/database/eloquent/model.php

@@ -378,6 +378,19 @@ abstract class Model {
 		return $result;
 	}
 
+	/**
+	 * Delete the model from the database.
+	 *
+	 * @return int
+	 */
+	public function delete()
+	{
+		if ($this->exists)
+		{
+			return $this->query()->where(static::$key, '=', $this->get_key())->delete();
+		}
+	}
+
 	/**
 	 * Set the update and creation timestamps on the model.
 	 *

+ 1 - 3
laravel/database/eloquent/relationships/has_many_and_belongs_to.php

@@ -125,9 +125,7 @@ class Has_Many_And_Belongs_To extends Relationship {
 	 */
 	public function delete()
 	{
-		$id = $this->base->get_key();
-
-		return $this->joining_table()->where($this->foreign_key(), '=', $id)->delete();
+		return $this->pivot()->delete();
 	}
 
 	/**