微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ORM关系,PHP和SQL加入

我正在为一个学校项目开发一个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"
    ]
]

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐