thinkphp在关联模型中三表级联查询 5

在关联模型中怎么进行三个表的级联查询呢?... 在关联模型中怎么进行三个表的级联查询呢? 展开
 我来答
辞友缘心
2014-10-13 · TA获得超过684个赞
知道小有建树答主
回答量:432
采纳率:0%
帮助的人:359万
展开全部

以下是伪代码,你参考下:

//以省市县为例

......
public getPR(){
    echo "省份列表";
}
public getCI(){
    $pID = isset($_GET[pid])?$_GET[pid]:-1;
    
    //数据库根据pid获取指定省下的市
    $list = $rs->where('...')->select();    
    echo "城市列表";
}
public getCO(){
    $pID = isset($_GET[cid])?$_GET[cid]:-1;
    
    //数据库根据cid获取指定城市下的县区
    $list = $rs->where('...')->select();    
    echo "县区列表";
}


在模板中直接getPR的结果填充省份select,当省份select选中后ajax的调用getCI获取城市列表并填充城市select,城市select选中后调用getCO获取县区列表并填充县区select


按照以上思路实现就好了,希望能帮到你。

追问
谢谢    但这不是我想要的效果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cbcfrank
2014-10-13 · 超过12用户采纳过TA的回答
知道答主
回答量:40
采纳率:100%
帮助的人:26.2万
展开全部
如果我没有理解错,你只要在 lib/model下定义 关联模型类,然后指定关联的主键,

如下:
class AccountsViewModel extends ViewModel{

public $viewFields = array(
'Accounts' => array('siccode'=>'customerId', '_type'=>'LEFT'),
'Accountscf' => array('cf_670','cf_672','cf_673','cf_674','cf_677','cf_678','cf_1238','cf_1377','_on'=>'Accountscf.accountid=Accounts.accountid','_type'=>'LEFT'),
'FundAccount' => array('fundId''customerpackage','payway','consumamount','discount', '_on'=>'Accounts.accountid=FundAccount.account_id', '_type'=>'LEFT'),
'CRMEntity' => array('createdtime', '_on'=>'Accounts.accountid=CRMEntity.crmid'),
);

}

【_on 处写关联字段】
追问
大神   我是个初学的渣渣,你这个、、、我有点不大懂啊   还是谢谢你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-10-13
展开全部
你好,你可以使用thinkphp当中的table方法.
实例代码:

$Model->Table(array('你的第一表'=>'第一个表的表名','你的第二个表'=>'第二个表的表名','你的第三个表'=>'第三个表的表名'))->where('status>1')->select();
更多追问追答
追问
我知道这个方法   不是我想要的效果  还是谢谢
追答
这个方法也不行吗?那你到底要什么方法?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
julongshan
2014-10-13 · TA获得超过110个赞
知道小有建树答主
回答量:248
采纳率:0%
帮助的人:237万
展开全部
把你的表字段列出来,另外你要达到什么效果
追问
student(学生表【s_id】,【s_name】,【s_cid】),class(班级表【c_id】,【c_name】,【c_gid】),grade(年级表【g_id】,【g_name】)

我想写一个Modle.class.php文件,在里面写protected $_link。 在Action.class.php文件中写一个方法relation()出来。实现三个表的级联。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式