ORM 不要用字符串关联

记录一次orm使用的问题记录一次orm使用的问题

  1. 数据库orm关联 key使用的字符串类型字段。

ORM 不要用字符串关联

  1. 由于sql不区分大小写,这里sql查询上不会有问题,能正常查到数据,问题来了,orm对象关联数据时是用php 数组key做的,php区分大小写,导致最终返回的对象中relations的user为null,造成数据错误。

ORM 不要用字符串关联

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 12

没怎么看懂, 应该是你的用法有问题吧

9个月前 评论

你不会数据库字段用大写了吧?

9个月前 评论
Alan_Tian (楼主) 9个月前
MArtian (作者) 9个月前

:sweat_smile:数据表字段大写啊,这

9个月前 评论

"不要用字符串关联" 没看懂

9个月前 评论
Alan_Tian (楼主) 9个月前
Alan_Tian (楼主) 9个月前

数据库字段是大写吗?能贴下修改前和修改后的效果吗?

9个月前 评论

数据库中字段 user_code 值是 大写字符串,ss_account 值是小写字符串。 生成sql:

  1. " select * from shensu where shensu.ss_account = 'x77****52jh' "
  2. " select user_code, user_id from user where user.user_code in ('X77****52JH') "

sql 数据查找没有问题,orm最终做对象关联时 由于PHP 数组 key 区服大小写,导致关联后的user为null

9个月前 评论

没看懂表达的什么意思。。

9个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!