Thinkphp 知识体系我们就爱程序媛

ThinkPHP多表查询

2017-02-13  本文已影响1191人  左神话

这里有两张关联的表(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": "女"
    }
  ]
}
上一篇 下一篇

猜你喜欢

热点阅读