这个sql语句怎么改成thinkphp的查询
$sql="SELECTuserid,relname,username,Phone,qq,b.nameASSex,c.nameASAge,d.nameASmarriage...
$sql="SELECT userid,relname,username,Phone,qq, b.name AS Sex,c.name AS Age,d.name AS marriage,e.name AS height,f.name AS weight,g.name AS school,h.name AS salary,i.name AS house,j.name AS profession FROM ty_userinfo a LEFT JOIN ty_class2 b ON a.Sex=b.id LEFT JOIN ty_class2 c ON a.Age=c.id LEFT JOIN ty_class2 d ON a.marriage=d.id LEFT JOIN ty_class2 e ON a.height=e.id LEFT JOIN ty_class2 f ON a.weight=f.id LEFT JOIN ty_class2 g ON a.school=g.id LEFT JOIN ty_class2 h ON a.salary=g.id LEFT JOIN ty_class2 i ON a.house=i.id LEFT JOIN ty_class2 j ON a.profession=j.id where userid=$userid";
$info=M('ty_userinfo')->query($sql);
$this->info=$info; 展开
$info=M('ty_userinfo')->query($sql);
$this->info=$info; 展开
2个回答
推荐于2016-10-30
展开全部
写一个model类就行
//文件名字:xxxxViewModel.php----这个是3.1版本
<?php
class xxxxxViewModel extends ViewModel{
public $viewFields = array(
'表1' => array('你要搜索的字段在前台显示,多个用逗号隔开','_type'=>'LEFT'),
'表2' =>array('你要搜索的字段在前台显示','_on'=>'表1的某一个字段=表2的某一个字段值')
);
}
// 文件名字:xxxxViewModel.php----这个是3.2版本
<?php
namespace Admin\Model;
use Think\Model\ViewModel;
class xxxxViewModelextends ViewModel{
public $viewFields=array(
'表1' => array('你要搜索的字段在前台显示,多个用逗号隔开','_type'=>'LEFT'),
'表2' =>array('你要搜索的字段在前台显示','_on'=>'表1的某一个字段=表2的某一个字段值')
);
}
?>
然后D函数select 就行
追答
首先,你的name字段是表示的什么意思? 是sex 还是 age 一个字段所表达的意思 只能有一个
,不可以多次利用。如果你想要name表达sex 那么model类可以这样写
<?php
class xxxxxViewModel extends ViewModel{
public $viewFields = array(
'userinfo' => array('你要搜索的字段在前台显示,多个用逗号隔开','_type'=>'LEFT'),
'class2' =>array('你要搜索的字段在前台显示','_on'=>'userinfo.userid=class2.id')
//这里要知道的是,id是否就是固定的唯一的,你的userid是不是指的就是class2中的id值
);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询