thinkphp多表查询

这个是A表这个是B表查询B表获取出来的ID如下[id]=>4[aid]=>4[bid]=>7[cid]=>9。当分配到模板时,如id=4时,aid不是显示4而是显示A表I... 这个是A表
这个是B表
查询B表获取出来的ID如下
[id] => 4 [aid] => 4 [bid] => 7 [cid] => 9。当分配到模板时,如id=4时,aid不是显示4而是显示A表ID对应4的(大类一子类一),我用的是thinkphp,并且B表已经与其他表关联了
展开
 我来答
DaWei
2014-06-02 · TA获得超过163个赞
知道小有建树答主
回答量:234
采纳率:75%
帮助的人:108万
展开全部
$data['id'] = $id;
M('A')->where($data)->join('B ON A.id = B.id')->selsct();
更多追问追答
追问
B表的aid,bid,cid与A表的id对应。A表是个栏目表,B表中如id是4的这一行,他的aid,bid,cid放的是A表的分类,也就是说读取B表当ID等于4时, [aid] => 6    [bid] => 7    [cid] => 12,在模板显示不要是6,7,12,而是 大类一子类三,大类二子类一,大类三子类三,不知道说明白没,追加啊
追答

用最笨的方法,自己配个数组,数据量也不大

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
    public function index(){
$test = D('Index');
$id = 2;
$data = $test->getData($id);
//print_r($data);
$this->data = $data;
$this->display();
    }
}
?>
namespace Home\Model;
use Think\Model;
class IndexModel extends Model{
public function getData($id){
$map['id'] = $id;
$test = M('two')->where($map)->find();
$aid = M('test')->where('id='.$test['aid'])->find();
$bid = M('test')->where('id='.$test['bid'])->find();
$cid = M('test')->where('id='.$test['cid'])->find();
return array($aid,$bid,$cid);
}
}
?>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式