关于tp多表查询问题

ccmaitian 2017-09-17 10:36:08
我现在添加一条 在建工地 每个在建工地有多个阶段 (准备阶段,水电阶段,木工阶段等) 然后每个阶段有多个图片 我现在是分了3张表 一张主表就是工地表 一张是信息表就是阶段表 一张是图片表 我现在查询出来了 阶段表步骤了 但我还需要查询到每个阶段下的图片 不知道怎么写了








我的sql代码是这样写的
$id=intval($_GET['id']);
$dia=M('Dialog');
$lists=$dia->join('web_dialog_info on web_dialog_info.diaimgid=web_dialog.id')
->join('web_dialog_step on web_dialog_step.id=web_dialog_info.step_id')
->where('web_dialog.id='.$id.'')
->getField('web_dialog_info.diamsg,web_dialog_info.diatime,web_dialog_info.id,web_dialog_step.step');

我的思路是:
当用户点击其中某条在建工地,获取该工地id,然后进入 主表 web_dialog 与 信息表 web_dialog_info.diaimgid相互匹配 然后在链接施工阶段步骤表 获取到该工地的多个步骤
但是现在无法获取阶段下 的所有图片 麻烦大家帮忙看下 万分感谢




...全文
640 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jip0303 2017-09-21
  • 打赏
  • 举报
回复
主表 A 阶段表 B 图片表C A.id = > B.p_id B.status => c.p_id C.status C.img status 表示阶段 这样来建表 我猜你是建表没有把三张表很好的关联起来
ccmaitian 2017-09-18
  • 打赏
  • 举报
回复
引用 5 楼 fdipzone 的回复:
主表id先找出主表记录,然后找出 id=diaimage
感谢版主回复 只是中间还有一步信息表 【客户通过点击主表工地信息,每天工地下又分阶段信息表 , 每个阶段信息表下又分阶段图片表】主表不能直接获取阶段图片啊
xuzuning 2017-09-17
  • 打赏
  • 举报
回复
主表 id 关联 diaimage 可以查出 id 后再查 id=diaimage 也可以用 tp 的 RELATION 关联模型 也可以用模型的 join 方法
hongmei85 2017-09-17
  • 打赏
  • 举报
回复
这个$list[2]是你前面代码里查出来的呀,tp不能用两次M吗 $dia=M('Dialog'); $lists=$dia->join('web_dialog_info on web_dialog_info.diaimgid=web_dialog.id') ->join('web_dialog_step on web_dialog_step.id=web_dialog_info.step_id') ->where('web_dialog.id='.$id.'') ->getField('web_dialog_info.diamsg,web_dialog_info.diatime,web_dialog_info.id,web_dialog_step.step');
ccmaitian 2017-09-17
  • 打赏
  • 举报
回复
引用 1 楼 hongmei85 的回复:

>getField('web_dialog_info.diamsg,web_dialog_info.diatime,web_dialog_info.id,web_dialog_step.step'); 
用web_dialog_info.id查图片表就可以啊

$pic=M('Dialog_img');
$pic->where('diaimgg_id='.$list[2])->select();
感谢大哥回复 ,但是用户是直接点击第一张表 工地主表 进入到详情页就能看到每个阶段下有哪些施工图片的啊 这个$list[2] 不能是手动输入的啊
hongmei85 2017-09-17
  • 打赏
  • 举报
回复

>getField('web_dialog_info.diamsg,web_dialog_info.diatime,web_dialog_info.id,web_dialog_step.step'); 
用web_dialog_info.id查图片表就可以啊

$pic=M('Dialog_img');
$pic->where('diaimgg_id='.$list[2])->select();
傲雪星枫 2017-09-17
  • 打赏
  • 举报
回复
主表id先找出主表记录,然后找出 id=diaimage

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧