旅游线路1:团1:价格1(id,price```)
               价格2(id,price```)
        
          团2:价格1(id,price```)
               价格2(id,price```)
我需要根据价格里的price字段,来筛选团,关系模型已经配了,请问如何封装where条件thinkphp关联查询

解决方案 »

  1.   

    thinkphp 文档写的太少 只有一对一关联查询 而且没有涉及到根据关联表的条件查询 而我们开发中往往需要根据关联标的条件来查询 一直不知道这个where因该怎么封装  
    我想查小于5天的团 而天数line里的days字段 
    $where["line.days"] = array("elt","5"); 这样不对
    我现在是这样解决的 
    $team = M("Team");  
    $where = "lineId in (select l.id from line l where l.days < 5)";
    $list = $team->where($where)->select();
     我感觉现在这样条件一多了 就非常麻烦了 应该有更好地解决办法吧  求大神指点
      

  2.   

    如果父表和子表关联,可以通过写sql直接连表。
      

  3.   

    恩 sql可以解决 但是想知道有没有thinkphp里有没有跟简单的方法 能不能像hibernate那样 直接把关系表的字段当做自己的属性
      

  4.   

    恩 sql可以解决 但是想知道有没有thinkphp里有没有跟简单的方法 能不能像hibernate那样 直接把关系表的字段当做自己的属性那你直接通过thinkphp的 orm写sql吧。
      

  5.   

    恩 sql可以解决 但是想知道有没有thinkphp里有没有跟简单的方法 能不能像hibernate那样 直接把关系表的字段当做自己的属性那你直接通过thinkphp的 orm写sql吧。
    orm是在Model里配置吗 能不能具体说一下 我是刚用php 
      

  6.   

    恩 sql可以解决 但是想知道有没有thinkphp里有没有跟简单的方法 能不能像hibernate那样 直接把关系表的字段当做自己的属性那你直接通过thinkphp的 orm写sql吧。
    orm是在Model里配置吗 能不能具体说一下 我是刚用php 

    你直接在controller写操作的sql
      

  7.   

    恩 看来除了写sql,还真没有更好的方法。谢谢各位提供的建议。