I've been searching around and the question was asked a few times, but no-one seem to be able to give a definite answer to it. How do you specify the integer length for the table column using Schema?
I've seen someone suggesting:
$table->integer('post')->length(11);
But that doesn't work - at least with Laravel 4.2 - it still produces the column as int(10)
.
Is there a built in method to specify the integer length?
If you're using MySQL, you can't specify the length of an integer column. You can only choose between one of the available integer types, described at http://dev.mysql.com/doc/refman/5.1/en/integer-types.html.
Hence, you cannot set the integer length in Laravel either.
You can only choose one of the available types described at Laravel 4.2 Database Migration Creating Column.
Thought I'd create an easy-to-copy-and-paste for general situations table.
Signed if you do require negative values and unsigned if you do not.
| Type | Eloquent (Schema Builder) | Min | Max | | ------------------- | ----------------------------------------- | ------- | ------ | | TINYINT (Signed) | $table->signedTinyInteger('foo') | -128 | 127 | | TINYINT (Unsigned) | $table->unsignedTinyInteger('foo') | 0 | 255 | | SMALLINT (Signed) | $table->signedSmallInteger('foo') | -32768 | 32767 | | SMALLINT (Unsigned) | $table->unsignedSmallInteger('foo') | 0 | 65535 |
For larger Integer types, see: https://dev.mysql.com/doc/refman/5.5/en/integer-types.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With