我有一张表,其中一列是request_id,它是在这样的迁移中定义的:
$table->bigInteger('request_id')->index()->unsigned()->nullable();
当我在表结构上查看phpmyadmin时,它说
bigint(20) UNSIGNED
我正在向我的api请求,并通过以下值发送:1562247865319
$requestLog = new RequestLog();
$requestLog->request_id = 1562247865319;
$requestLog->save();
此代码出错,并发回数值超出范围:1264超出范围
真正奇怪的是,当我使用phpmyadmin时,我可以将该列的值手动设置为比1562247865319大得多的值,但是当我通过laravel模型执行此操作时,它并不喜欢它。
编辑
错误消息是
SQLSTATE[22003]: Numeric value out of range: 1264 Out of range value for column 'request_id' at row 1 (SQL: insert into `request_logs` (`ip`, `submitted_user_name`, `url`, `full_url`, `method`, `request_id`, `request_data`, `api_user_id`, `updated_at`, `created_at`) values (..., ..., ..., http://..../api/..., POST, 1562247865319, {"request_id":"1562248616206"}, 2, 2019-07-04 14:57:00, 2019-07-04 14:57:00))