laravel5.6 Eloquent orm的一个坑
2019-03-14 11:50
260 查看
背景
博主一项目使用laravel5.6 + laravel-admin,现使用了laravel-admin的select的联动控件。实现省市区三级联动的功能。看了官方的文档,
问题
官方文档明确了对控件加载的数据结构有要求,接口返回的数据必须是id,text的数组类型,那么问题来了,博主在表中存放的真正id不是叫id,叫id的为自增的主键值,而真正的id字段名叫’cid’(varchar类型),于是orm命个别名吧
此时,发现取出的id值一直不对,输出后所有的id值为9223372036854775807(BIGINT的最大值)
原因
经过排查,博主发现,laravel的model操作会将字段为id的值自动转为int型,若你真实的字段本身为int型则没问题,一旦你真实的字段为varchar类型的,则会产生如上错误。
解决
博主最后对数据结果集使用了toArray方法,而后对结果遍历更改了字段名为‘id’
请关注我的订阅号
相关文章推荐
- Laravel基础-Eloquent ORM 模型
- Laravel 5框架学习之Eloquent (laravel 的ORM)
- Laravel入门教程(五)- 数据库操作 - Eloquent ORM
- PHP框架 Laravel Eloquent ORM 批量插入数据 && 批量更新目前没有
- Laravel之Eloquent ORM关联
- gorose, 最像 laravel's eloquent 的go数据库操作orm, 风骚的链式调用, 让你深深陷入不能自拔
- laravel组件单独加载(2):模型 Eloquent ORM
- 在 CodeIgniter 中使用 Laravel Eloquent ORM
- Laravel Eloquent ORM的hasOne和belongsTo
- 给 CI 插上翅膀——在 CodeIgniter 2 中使用 Laravel Eloquent ORM
- 给 CI 插上翅膀——在 CodeIgniter 2 中使用 Laravel Eloquent ORM
- Laravel Eloquent ORM Active Recode
- Laravel学习笔记(六)---操作数据库--Eloquent ORM(对象关系映射)
- 【Laravel】Eloquent ORM的底层实现
- laravel - Eloquent ORM 快速使用
- Laravel Eloquent ORM--整理
- laravel - Eloquent ORM 快速使用
- gorose, 最像 laravel's eloquent 的go数据库操作orm, 风骚的链式调用, 让你深深陷入不能自拔
- Laravel Eloquent ORM--整理
- Laravel数据库操作之-Eloquent ORM