diff --git a/laravel/database/schema.php b/laravel/database/schema.php index 2337a27d..3787e33b 100644 --- a/laravel/database/schema.php +++ b/laravel/database/schema.php @@ -120,9 +120,16 @@ class Schema { { foreach (array('primary', 'unique', 'fulltext', 'index') as $key) { - if (isset($column->attributes[$key])) + if (isset($column->$key)) { - $table->$key($column->name); + if ($column->$key === true) + { + $table->$key($column->name); + } + else + { + $table->$key($column->name, $column->$key); + } } } } diff --git a/laravel/fluent.php b/laravel/fluent.php index 1c83b468..58c70207 100644 --- a/laravel/fluent.php +++ b/laravel/fluent.php @@ -77,4 +77,20 @@ class Fluent { $this->attributes[$key] = $value; } + /** + * Dynamically check if an attribute is set. + */ + public function __isset($key) + { + return isset($this->attributes[$key]); + } + + /** + * Dynamically unset an attribute. + */ + public function __unset($key) + { + return unset($this->attributes[$key]); + } + } \ No newline at end of file