Rumah > pembangunan bahagian belakang > tutorial php > [ThinkPHP]关联查询问题

[ThinkPHP]关联查询问题

WBOY
Lepaskan: 2016-06-23 13:22:13
asal
1314 orang telah melayarinya

使用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'		),	);} 
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk


然后在控制器里实例化这个模型来取数据即可。
$UserPersonal = D('UserPersonalapplyViewModel');
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

建议你使用视图模型来查询:写一个自定义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'		),	);} 
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk


然后在控制器里实例化这个模型来取数据即可。
$UserPersonal = D('UserPersonalapplyViewModel');
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk



建议你使用视图模型来查询:写一个自定义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'		),	);} 
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk


然后在控制器里实例化这个模型来取数据即可。
$UserPersonal = D('UserPersonalapplyViewModel');
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk



建议你使用视图模型来查询:写一个自定义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'		),	);} 
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk


然后在控制器里实例化这个模型来取数据即可。
$UserPersonal = D('UserPersonalapplyViewModel');
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

回复慢了,不好意思!我按你这种方法试一下!谢谢谢谢!
Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan