ORM 不要用字符串关联

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

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

ORM 不要用字符串关联

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

ORM 不要用字符串关联

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 12

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

2个月前 评论

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

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

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

2个月前 评论

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

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

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

2个月前 评论

数据库中字段 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

2个月前 评论

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

2个月前 评论

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