ThinkPHP多表查询

这里有两张关联的表(table1,table2),想要通过其中一张表(table1)查询另外一张表(table2)的详细信息.在tp框架中该如何实现呢?

(table1)

id uid tid
1 66 25
2 67 26
3 68 27
4 68 28
5 70 29

(table2)

id name gender
25 张三
26 李四
27 小花
28 小草
29 可乐

注意,其中uid相同代表是在同一个uid下显示信息.

if (I('post.uid')) {
        $map['uid'] = '68';
        $table1 = M('table1');
        if($orderData = $table1->where($map)->select()){
            $data = array();
            $table2 = M('table2');
            foreach ($orderData as $v) {
                $news_map['id'] = $v['tid'];
                if($myClient = $table2->where($news_map)->find()){
                    array_push($data, $myClient);
                }
            }
            $msg['status'] = 1;
            $msg['data'] = $data;
            $this->ajaxReturn($msg);
        }  else {
            $msg['status'] = 0;
            $msg['msg'] = '没有信息!';
            $this->ajaxReturn($msg);
        }
        }

返回的json数据如下:

{
  "status": 1,
  "data": [
    {
      "id": "27",
      "name": "小花",
      "sex": "女"
    },
    {
      "id": "28",
      "name": "小草",
      "sex": "女"
    }
  ]
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 什么是SQL数据库: SQL是Structured Query Language(结构化查询语言)的缩写。SQL是...
    西贝巴巴阅读 5,845评论 0 10
  • 50个常用的sql语句 Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cna...
    最美的太阳WW阅读 8,466评论 0 23
  • Join原理 Hive执行引擎会将HQL“翻译”成为MapReduce任务,如果多张表使用同一列做Join,将被“...
    Bloo_m阅读 8,915评论 2 3
  • 站在时光的风口浪尖,我看到流年处灯火阑珊,年华正美。 我以为的最美年华,既有伤心的泪水流下又有阳光的微笑洋溢, 既...
    流光梦南阅读 2,555评论 0 0
  • 2017年的第一个玩物:lofree蓝牙机械键盘。 今天刚收到货,噼里啪啦的,敲起来很爽,但也确实吵人。 另外,不...
    工程无尽藏阅读 2,515评论 0 0