Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 08.02.2017 23:49:07

Как указать длинну столбца int в миграции?

У varchar есть длинна, а как указать длину у int?
$table->increments('id')->unsigned();
$table->string('name',255);

Изменено Kirir (08.02.2017 23:49:53)


Связь со мной:
Скайп(с аватаркой) - shyraks
Телеграм - @Mramoris или +7 999 260 13 20

Не в сети

#2 09.02.2017 11:53:21

TrueKanonir
Откуда: Ташкент
Сообщений: 221

Re: Как указать длинну столбца int в миграции?

Если надо увеличить или уменьшить длинну, можно указать

$table->smallIncrements('id');
$table->mediumIncrements('id');
$table->bigIncrements('id');

Не в сети

#3 09.02.2017 12:22:27

Re: Как указать длинну столбца int в миграции?

и ещё – на increments-типах не надо указывать unsigned, он там уже есть по умолчанию. а вот типы полей, где хранится связь с данной таблицей, должны точно совпадать с выбранным типом инкремента (small, medium, big) и явно быть указаны как unsigned

Не в сети

#4 09.02.2017 12:55:15

skiphog
Откуда: Киров, Россия
Сообщений: 26

Re: Как указать длинну столбца int в миграции?

Mysql documentation
img

$table->increments('id') - это (integer, unsigned), что означает четырех-байтовое целое число, диапазон чисел от 0 до 4,294,967,295
И по умолчанию длина равна 10

Не в сети

#5 09.02.2017 15:59:27

skiphog
Откуда: Киров, Россия
Сообщений: 26

Re: Как указать длинну столбца int в миграции?

Стоит отменить, что длина поля int влияет только на длину вывода этого поля при выбранном атрибуте ZEROFILL, а не на допустимое значение.
Мускулю без разницы, что ему указывают в этой длине. Что int(3), что int(10) Все равно можно записать любое число c максимальным значением 4,294,967,295

Поэтому вам не нужно там ничего указывать.
При выборе, обращайте внимание только на тип поля: int, smallint, tinyint и т.д

Не в сети

#6 11.02.2017 09:31:52

Re: Как указать длинну столбца int в миграции?

Большое всем спасибо!


Связь со мной:
Скайп(с аватаркой) - shyraks
Телеграм - @Mramoris или +7 999 260 13 20

Не в сети

Подвал раздела