fix where in shortcut and response header casing problem.

This commit is contained in:
Taylor Otwell 2012-04-01 13:48:27 -05:00
parent b72f4e9fd9
commit d2f35900cd
2 changed files with 8 additions and 6 deletions

View File

@ -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);
}
}

View File

@ -89,7 +89,7 @@ public function __construct($content, $status = 200, $headers = array())
{
$this->status = $status;
$this->content = $content;
$this->headers = $headers;
$this->headers = array_change_key_case($headers);
}
/**