首页 / PHP / [ThinkPHP]关联查询问题
[ThinkPHP]关联查询问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了[ThinkPHP]关联查询问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2980字,纯文字阅读大概需要5分钟。
内容图文
使用ThinkPHP框架开发.User模型里关联了personalapply表:
'personalapply' =>array(
'mapping_type'=>self::HAS_MANY,
'foreign_key'=>'uid',
'mapping_name'=>'personalapply',
),
控制器里:根据前端接收的字段查询筛选(字段为personalapply表里字段)
//获取个人中心的申请信息
$limit_year = $_GET['limit_year'];
$loanuse = $_GET['loanuse'];
//申请表关联查询条件
$user=D('user');
$applymap['limit_year'] = $limit_year;
$applymap['loanuse'] = $loanuse;
$userapply=$user->relation('personalapply')->where($applymap)->select();//只能查询user表字段,不能查询personalapply表字段,
问题:想要user表跟personalapply表关联后怎么根据变量查询 personalapply里数据,得出关联后的查询数据。模型里condition只能写死!不能传变量。(我新手也看手册了,手册里没有,估计是我知道的函数不全,ThinkPHP不行我就使用PHP SQL查询了,求大神指出ThinkPHP实现的方法,THX!!)
回复讨论(解决方案)
建议你使用视图模型来查询:写一个自定义Model(如果是TP3.2版本,别忘了引入命名空间)
class UserPersonalapplyViewModel extends ViewModel{ public $viewFields = array( 'User'=>array( 'User表需要取的字段1', '字段2', '字段3' ), 'personalapply'=>array( 'personalapply表需要取得字段1', '字段2', '字段3', '_on'=>'User.主键=personalapply.uid', '_type'=>'LEFT' ), );}
然后在控制器里实例化这个模型来取数据即可。
$UserPersonal = D('UserPersonalapplyViewModel');
建议你使用视图模型来查询:写一个自定义Model(如果是TP3.2版本,别忘了引入命名空间)
class UserPersonalapplyViewModel extends ViewModel{ public $viewFields = array( 'User'=>array( 'User表需要取的字段1', '字段2', '字段3' ), 'personalapply'=>array( 'personalapply表需要取得字段1', '字段2', '字段3', '_on'=>'User.主键=personalapply.uid', '_type'=>'LEFT' ), );}
然后在控制器里实例化这个模型来取数据即可。
$UserPersonal = D('UserPersonalapplyViewModel');
建议你使用视图模型来查询:写一个自定义Model(如果是TP3.2版本,别忘了引入命名空间)
class UserPersonalapplyViewModel extends ViewModel{ public $viewFields = array( 'User'=>array( 'User表需要取的字段1', '字段2', '字段3' ), 'personalapply'=>array( 'personalapply表需要取得字段1', '字段2', '字段3', '_on'=>'User.主键=personalapply.uid', '_type'=>'LEFT' ), );}
然后在控制器里实例化这个模型来取数据即可。
$UserPersonal = D('UserPersonalapplyViewModel');
建议你使用视图模型来查询:写一个自定义Model(如果是TP3.2版本,别忘了引入命名空间)
class UserPersonalapplyViewModel extends ViewModel{ public $viewFields = array( 'User'=>array( 'User表需要取的字段1', '字段2', '字段3' ), 'personalapply'=>array( 'personalapply表需要取得字段1', '字段2', '字段3', '_on'=>'User.主键=personalapply.uid', '_type'=>'LEFT' ), );}
然后在控制器里实例化这个模型来取数据即可。
$UserPersonal = D('UserPersonalapplyViewModel');回复慢了,不好意思!我按你这种方法试一下!谢谢谢谢!
内容总结
以上是互联网集市为您收集整理的[ThinkPHP]关联查询问题全部内容,希望文章能够帮你解决[ThinkPHP]关联查询问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。