ORM 不要用字符串关联

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

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

ORM 不要用字符串关联

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

ORM 不要用字符串关联

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 12

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

2周前 评论

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

2周前 评论
Alan_Tian (楼主) 1周前
MArtian (作者) 1周前

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

2周前 评论

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

2周前 评论
Alan_Tian (楼主) 1周前
Alan_Tian (楼主) 1周前

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

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

1周前 评论

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

1周前 评论

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