thinkphp 关联查询 3张一对多的表 咋弄

gygy1993 2013-07-04 02:59:10

表的关系图如图
一个酒店有多个房间,一个房间有多个价格
求 thinkphp关联查询咋写??
...全文
2202 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
gygy1993 2013-07-04
  • 打赏
  • 举报
回复
附上我的Model

class HotelListRelationModel extends RelationModel{
	protected $tableName = 'hotellist';
	public $_link=array(
			"hotelroomlist"=>array(
				 "mapping_type"=>HAS_MANY,
				 "class_name"=>"hotelroomlist",
				 "mapping_name"=>"hotelroomlist",
				 "foreign_key"=>"Room_HotelId",
				 "condition"=>"Is_Del=0",
				 "mapping_fields"=>array("Room_id","Room_Name","Room_Bed")
			   ),
			);
}
gygy1993 2013-07-04
  • 打赏
  • 举报
回复
引用 6 楼 xuzuning 的回复:
嗯,他那个不适合你 看看这个 http://bbs.csdn.net/topics/360168211
额 我想得到这样的结果

array(2) {
  [0] => array(4) {
    ["Hotel_Id"] => string(1) "4"
    ["Hotel_Name"] => string(24) "重庆南方君临酒店"
    ["Hotel_Stars"] => string(1) "1"
    ["hotelroomlist"] => array(3) {
      [0] => array(3) {
        ["Room_id"] => string(1) "1"
        ["Room_Name"] => string(12) "豪华大房"
        ["Room_Bed"] => string(6) "大床"
      }
      [1] => array(3) {
        ["Room_id"] => string(1) "2"
        ["Room_Name"] => string(15) "豪华双人间"
        ["Room_Bed"] => string(6) "双床"
      }
      [2] => array(3) {
        ["Room_id"] => string(1) "5"
        ["Room_Name"] => string(9) "商务房"
        ["Room_Bed"] => string(6) "大床"
      }
    }
  }
  [1] => array(4) {
    ["Hotel_Id"] => string(1) "5"
    ["Hotel_Name"] => string(30) "重庆申基索菲特大酒店"
    ["Hotel_Stars"] => string(1) "1"
    ["hotelroomlist"] => array(2) {
      [0] => array(3) {
        ["Room_id"] => string(1) "3"
        ["Room_Name"] => string(15) "豪华双人房"
        ["Room_Bed"] => string(12) "双人大床"
      }
      [1] => array(3) {
        ["Room_id"] => string(1) "4"
        ["Room_Name"] => string(12) "商务大房"
        ["Room_Bed"] => string(6) "大床"
      }
    }
  }
}
这只关联了酒店表和房间表 没有关联价格表
xuzuning 2013-07-04
  • 打赏
  • 举报
回复
嗯,他那个不适合你 看看这个 http://bbs.csdn.net/topics/360168211
gygy1993 2013-07-04
  • 打赏
  • 举报
回复
引用 4 楼 xuzuning 的回复:
你把那个一对一的比照一对多的改下不就行了?
我是用的酒店表为主表 按照那样弄的话 就是酒店表去连价格表了 价格表里面没有酒店id 只有房间id 应该是酒店表连房间表,房间表连价格表
xuzuning 2013-07-04
  • 打赏
  • 举报
回复
你把那个一对一的比照一对多的改下不就行了?
gygy1993 2013-07-04
  • 打赏
  • 举报
回复
引用 楼主 gygy1993 的回复:
表的关系图如图 一个酒店有多个房间,一个房间有多个价格 求 thinkphp关联查询咋写??
谢谢 这篇看过了 但 那个有张是一对一的 而我这个是两个一对多
软件介绍 ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,是为了敏捷WEB应用 开发和简化企业级应用开发而诞生的。拥有众多的优秀功能和特性,经历了三年多发展的同时,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和 改进,众多的典型案例确保可以稳定用于商业以及门户级的开发。 ThinkPHP借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,采用单一入口模式等,融合了Struts的 Action思想和JSP的TagLib(标签库)、RoR的ORM映射和ActiveRecord模式,封装了CURD和一些常用操作,在项目配置、类 库导入、模版引擎、查询语言、自动验证、视图模型、项目编译、缓存机制、SEO支持、分布式数据库、多数据库连接和切换、认证机制和扩展性方面均有独特的 现。 使用ThinkPHP,你可以更方便和快捷的开发和部署应用。当然不仅仅是企业级应用,任何PHP应用开发都可以从ThinkPHP的简单 和快速的特性中受益。ThinkPHP本身具有很多的原创特性,并且倡导大道至简,开发由我的开发理念,用最少的代码完成更多的功能,宗旨就是让WEB应 用开发更简单、更快速。为此ThinkPHP会不断吸收和融入更好的技术以保证其新鲜和活力,提供WEB应用开发的最佳实践! ThinkPHP遵循Apache2开源许可协议发布,意味着你可以免费使用ThinkPHP,甚至允许把你基于ThinkPHP开发的应用开源或商业产 品发布/销售。 ThinkPHP v5.0.15 更新日志: 改进View类 改进chunk方法 改进模板引擎的达式语法 改进自关联查询多级调用问题 关联定义增加`selfRelation`方法用于设置是否自关联 改进file类型的缓存`inc`和`dec`方法不改变缓存有效期 改进软删除 支持设置`deleteTime`属性关闭 改进`union`查询 改进查询缓存 优化File缓存自动生成空目录的问题 改进日志写入并发问题 修正`MorphTo`关联 改进`join`自关联查询 改进`case`标签解析 改进Url类对`url_convert`配置的支持
ThinkPHP v5.0 RC4 主要更新: [底层架构] 增加Request类 并支持自动注入 统一Composer的自动加载机制 增加Response类的子类扩展 增加File类用于上传和文件操作 取消模式扩展 SAE支持降权 优化框架入口文件 改进异常机制 App类输入/输出调整 单元测试的完美支持 增加新的控制台指令 取消系统路径之外的大部分常量定义 类库映射文件由命令行动态生成 包含应用类库 [数据库] 增加分规则方法 增加日期和时间达式查询方法 增加分页查询方法 增加视图查询方法 默认保持数据字段大小写 数据缓存自动更新机制 完善事务嵌套支持 改进存储过程数据读取 支持设置数据库查询数据集返回类型 [模型] 增加Merge扩展模型 模型支持动态查询 增加更多的类型自动转换支持 增加全局查询范围 toJson/toArray支持隐藏和增加属性输出 增加远程一对多关联 [其它] 日志存储结构调整 Trace调试功能从日志类独立并增强 原Input类功能并入Request类 类库映射文件采用命令行生成 包含应用类库 验证类的check方法data数据取消引用传参 路由增加MISS路由规则 路由增加路由别名功能 ThinkPHP软件介绍 ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,是为了敏捷WEB应用 开发和简化企业级应用开发而诞生的。拥有众多的优秀功能和特性,经历了三年多发展的同时,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和 改进,众多的典型案例确保可以稳定用于商业以及门户级的开发。 ThinkPHP借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,采用单一入口模式等,融合了Struts的 Action思想和JSP的TagLib(标签库)、RoR的ORM映射和ActiveRecord模式,封装了CURD和一些常用操作,在项目配置、类 库导入、模版引擎、查询语言、自动验证、视图模型、项目编译、缓存机制、SEO支持、分布式数据库、多数据库连接和切换、认证机制和扩展性方面均有独特的 现。 使用ThinkPHP,你可以更方便和快捷的开发和部署应用。当然不仅仅是企业级应用,任何PHP应用开发都可以从ThinkPHP的简单 和快速的特性中受益。ThinkPHP本身具有很多的原创特性,并且倡导大道至简,开发由我的开发理念,用最少的代码完成更多的功能,宗旨就是让WEB应 用开发更简单、更快速。为此ThinkPHP会不断吸收和融入更好的技术以保证其新鲜和活力,提供WEB应用开发的最佳实践! ThinkPHP遵循Apache2开源许可协议发布,意味着你可以免费使用ThinkPHP,甚至允许把你基于ThinkPHP开发的应用开源或商业产 品发布/销售。 ThinkPHP页面展示 相关阅读 同类推荐:站长常用源码

4,251

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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