Модель Laravel eloquent имеет неверное значение первичного ключа, используя пользовательскую таблицу и первичный ключ - PullRequest
0 голосов
/ 30 мая 2018

Я перевожу приложение с простого PHP на использование Laravel.Таблица текущих пользователей называется Person с первичным ключом person_id типа unsigned bigint(20).

Я обновил свою модель приложения \ пользователя следующим:

protected $table = 'Person';
protected $primaryKey = 'person_id';

Когда я делаю запрос и проверяю Auth->user(), person_id всегда неверное значение.Мой ожидаемый идентификатор - 4294967410, но возвращается 2147483647.Все остальные атрибуты пользователя верны (адрес электронной почты, имя и т. Д.).

Я очень застрял в том, почему это так.Я использую свежую установку Laravel.

1 Ответ

0 голосов
/ 30 мая 2018

Связано, если не является дубликатом Какой максимальный размер для int в PHP?

Вы получаете PHP_INT_MAX, что составляет 2147483647 на 32-битных машинах.

Например, на моем Mac ограничение int составляет:

Psy Shell v0.9.4 (PHP 7.1.14 — cli) by Justin Hileman
>>> echo PHP_INT_MAX
9223372036854775807⏎

Решение - использовать 64-битную машину с 64-битной сборкой PHP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...