美文网首页“坑”就一个字最好的PHP
laravel5.6 Eloquent orm的一个坑

laravel5.6 Eloquent orm的一个坑

作者: 码哥说 | 来源:发表于2019-03-20 16:16 被阅读0次

    背景

    博主一项目使用laravel5.6 + laravel-admin,现使用了laravel-admin的select的联动控件。实现省市区三级联动的功能。看了官方的文档,


    1.png

    问题

    官方文档明确了对控件加载的数据结构有要求,接口返回的数据必须是id,text的数组类型,那么问题来了,博主在表中存放的真正id不是叫id,叫id的为自增的主键值,而真正的id字段名叫'cid'(varchar类型),于是orm命个别名吧


    2.png

    此时,发现取出的id值一直不对,输出后所有的id值为9223372036854775807(BIGINT的最大值)

    原因

    经过排查,博主发现,laravel的model操作会将字段为id的值自动转为int型,若你真实的字段本身为int型则没问题,一旦你真实的字段为varchar类型的,则会产生如上错误。

    解决

    博主最后对数据结果集使用了toArray方法,而后对结果遍历更改了字段名为‘id’


    3.png

    请关注我的订阅号

    订阅号.png

    相关文章

      网友评论

        本文标题:laravel5.6 Eloquent orm的一个坑

        本文链接:https://www.haomeiwen.com/subject/gomtmqtx.html