diff --git a/src/Illuminate/Database/Schema/Blueprint.php b/src/Illuminate/Database/Schema/Blueprint.php index cd254b71b3f2..c7f55eee23f5 100755 --- a/src/Illuminate/Database/Schema/Blueprint.php +++ b/src/Illuminate/Database/Schema/Blueprint.php @@ -1272,11 +1272,13 @@ public function year($column) * Create a new binary column on the table. * * @param string $column + * @param int|null $length + * @param bool $fixed * @return \Illuminate\Database\Schema\ColumnDefinition */ - public function binary($column) + public function binary($column, $length = null, $fixed = false) { - return $this->addColumn('binary', $column); + return $this->addColumn('binary', $column, compact('length', 'fixed')); } /** diff --git a/src/Illuminate/Database/Schema/Grammars/MySqlGrammar.php b/src/Illuminate/Database/Schema/Grammars/MySqlGrammar.php index aec73db6eef4..c0cf85e36301 100755 --- a/src/Illuminate/Database/Schema/Grammars/MySqlGrammar.php +++ b/src/Illuminate/Database/Schema/Grammars/MySqlGrammar.php @@ -999,6 +999,10 @@ protected function typeYear(Fluent $column) */ protected function typeBinary(Fluent $column) { + if ($column->length) { + return $column->fixed ? "binary({$column->length})" : "varbinary({$column->length})"; + } + return 'blob'; } diff --git a/src/Illuminate/Database/Schema/Grammars/SqlServerGrammar.php b/src/Illuminate/Database/Schema/Grammars/SqlServerGrammar.php index b719f127f3dc..5333df3e6dbf 100755 --- a/src/Illuminate/Database/Schema/Grammars/SqlServerGrammar.php +++ b/src/Illuminate/Database/Schema/Grammars/SqlServerGrammar.php @@ -874,6 +874,10 @@ protected function typeYear(Fluent $column) */ protected function typeBinary(Fluent $column) { + if ($column->length) { + return $column->fixed ? "binary({$column->length})" : "varbinary({$column->length})"; + } + return 'varbinary(max)'; }