diff --git a/artisan b/artisan index 68e645ea..66a0cc09 100644 --- a/artisan +++ b/artisan @@ -3,7 +3,7 @@ * Laravel - A PHP Framework For Web Artisans * * @package Laravel - * @version 3.1.2 + * @version 3.1.4 * @author Taylor Otwell * @link http://laravel.com */ diff --git a/changes.md b/changes.md index a02a9077..5a4ae496 100644 --- a/changes.md +++ b/changes.md @@ -4,6 +4,10 @@ ## Contents - [Laravel 3.2](#3.2) - [Upgrading From 3.1](#upgrade-3.2) +- [Laravel 3.1.4](#3.1.4) +- [Upgrading From 3.1.3](#upgrade-3.1.4) +- [Laravel 3.1.3](#3.1.3) +- [Upgrading From 3.1.2](#uprade-3.1.3) - [Laravel 3.1.2](#3.1.2) - [Upgrading From 3.1.1](#upgrade-3.1.2) - [Laravel 3.1.1](#3.1.1) @@ -26,6 +30,27 @@ ## Upgrading From 3.1 - Replace the **laravel** folder. - Add new **vendors** folder. + +## Laravel 3.1.4 + +- Fixes Response header casing bug. +- Fixes SQL "where in" (...) short-cut bug. + + +## Upgrading From 3.1.3 + +- Replace the **laravel** folder. + + +## Laravel 3.1.3 + +- Fixes **delete** method in Eloquent models. + + +## Upgrade From 3.1.2 + +- Replace the **laravel** folder. + ## Laravel 3.1.2 diff --git a/laravel/database/eloquent/model.php b/laravel/database/eloquent/model.php index efc493b2..53ff52c3 100644 --- a/laravel/database/eloquent/model.php +++ b/laravel/database/eloquent/model.php @@ -385,6 +385,19 @@ public function save() 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. * diff --git a/laravel/database/eloquent/relationships/has_many_and_belongs_to.php b/laravel/database/eloquent/relationships/has_many_and_belongs_to.php index e030ea72..2f5e4a89 100644 --- a/laravel/database/eloquent/relationships/has_many_and_belongs_to.php +++ b/laravel/database/eloquent/relationships/has_many_and_belongs_to.php @@ -170,9 +170,7 @@ public function insert($attributes, $joining = array()) */ public function delete() { - $id = $this->base->get_key(); - - return $this->joining_table()->where($this->foreign_key(), '=', $id)->delete(); + return $this->pivot()->delete(); } /** diff --git a/laravel/database/query/grammars/grammar.php b/laravel/database/query/grammars/grammar.php index b0c06824..50d2b207 100644 --- a/laravel/database/query/grammars/grammar.php +++ b/laravel/database/query/grammars/grammar.php @@ -397,22 +397,24 @@ public function delete(Query $query) * @param array $bindings * @return string */ - public function shortcut($sql, $bindings) + public function shortcut($sql, &$bindings) { // Laravel provides an easy short-cut notation for writing raw WHERE IN // statements. If (...) is in the query, it will be replaced with the - // correct number of parameters based on the bindings. + // correct number of parameters based on the query bindings. if (strpos($sql, '(...)') !== false) { for ($i = 0; $i < count($bindings); $i++) { - // If the binding is an array, we can just assume it's used to - // fill a "where in" condition, so we will just replace the - // next place-holder in the query with the constraint. + // If the binding is an array, we can just assume it's used to fill a + // where in condition, so we'll just replace the next place-holder + // in the query with the constraint and splice the bindings. if (is_array($bindings[$i])) { $parameters = $this->parameterize($bindings[$i]); + array_splice($bindings, $i, 1, $bindings[$i]); + $sql = preg_replace('~\(\.\.\.\)~', "({$parameters})", $sql, 1); } } diff --git a/paths.php b/paths.php index 7d9e1906..152a4f79 100644 --- a/paths.php +++ b/paths.php @@ -3,7 +3,7 @@ * Laravel - A PHP Framework For Web Artisans * * @package Laravel - * @version 3.1.2 + * @version 3.1.4 * @author Taylor Otwell * @link http://laravel.com */ diff --git a/public/index.php b/public/index.php index 42b6a438..561d13a3 100644 --- a/public/index.php +++ b/public/index.php @@ -3,7 +3,7 @@ * Laravel - A PHP Framework For Web Artisans * * @package Laravel - * @version 3.1.2 + * @version 3.1.4 * @author Taylor Otwell * @link http://laravel.com */