加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

ORM关系,PHP和SQL加入

发布时间:2020-12-15 02:35:24 所属栏目:Java 来源:网络整理
导读:我正在为一个学校项目开发一个小 PHP框架,我正在学习如何构建ORM部分. 但是,我无法弄清楚如何从带有连接的SQL查询映射对象关系,或者我只是不知道要搜索的正确单词:( t1 id title text – t2 id name description 我试着做一个简单的事:SELECT * FROM t1 LEF
我正在为一个学校项目开发一个小 PHP框架,我正在学习如何构建ORM部分.

但是,我无法弄清楚如何从带有连接的SQL查询映射对象关系,或者我只是不知道要搜索的正确单词:(

t1
  id
  title
  text

t2
  id
  name
  description

我试着做一个简单的事:SELECT * FROM t1 LEFT JOIN t2 ON t1.id = t2.t1_id

我得到的是一个简单的数组,其中来自两个表和id列的所有字段都被覆盖,因为它存在于两者中.

[
  "id" => "2"
  "title" => "Lorem"
  "text" => "Ipsum"
  "name" => "Tomato"
  "description" => "Tomato are nice"
]

所以我的问题是有一个简单的方法来获得这样的连接?

[
  "t1" => [
     "id" => 2
     "title" => "Lorem"
     "text" => "Tomato"
     "t2" => [
       "id" => 3
       "name" => "Tomato"
       "description" => "Tomato are nice"
     ]
]

解决方法

不,连接是用于创建两个表并排的表视图.但你可以这样做:

SELECT t1.id,t1.title,t1.next,t2.name as "t2_name",t2.description as "t2_description" FROM t1 LEFT JOIN t2 ON t1.id = t2.t1_id

这将为您提供如下前缀:

[
    "t1" => [
        "id" => 2
        "title" => "Lorem"
        "text" => "Tomato"
        "id" => 3
        "t2_name" => "Tomato"
        "t2_description" => "Tomato are nice"
    ]
]

这解决了你试图解决的同样问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读