thinkphp关联查询如何直接查出关联表的某个字段,并组合成一行数据

用户表:user_id=1,user_name=张三,role_id=3;
角色表:role_id=3,role_name=管理员;
用模型查询的方式查询用户表怎么把结果查出来为:{user_id:1,user_name:'张三',role_id:3,role_name:'管理员'}
使用关联查询的方式遇到两个问题:
1.查询出来的结果是{user_id:1,user_name:'张三',role_id:3,roleName:{role_name:'管理员'}} 多嵌套了一层,
2.在控制器里必须先执行一下$result->roleName->role_name 才能得到1的结果,

有没有什么比较直接或者快捷的模型查询方法可以直接查询出最上边我想要的结果?

2个回答

很简单的,关联查询就可以做到

最好把你的查询语句发出来,然后查询结果。这样就可以根据代码来改

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
没有 关联字段的 关联查询
[img=https://img-bbs.csdn.net/upload/201809/04/1536040532_230213.png][/img]rn
如何查出某个表的表结构
如题
如何选出某个表的某一行数据?
如第二行,第三行rnrt,thanks!
2个表如何关联查询(thinkphp)
2张表rn一:id uid name;rn二;uid name;rn知道这个是关联,但是不会写。就是就是将第一个表中的uid显示成第二个表中的name,求解
如何直接读取dataset的某个字段数据?
[code=C#] string sqlstr = "Data Source=.;Initial Catalog=DB;Integrated Security=True";rn string sqlstr1 = "select top 100 * from table1";rn rn SqlConnection conn = new SqlConnection();rn rn conn.ConnectionString = sqlstr;rn conn.Open();rnrn SqlCommand cmd = new SqlCommand(sqlstr1,conn);rnrn SqlDataAdapter ad = new SqlDataAdapter();rnrn ad.SelectCommand = cmd;rnrn DataSet ds = new DataSet();rnrn ad.Fill(ds);[/code]rnrn1、大家看看这段代码有没有问题,做为连接和打开数据库用。rn2、要直接读取ds的某列数据如何操作。不用数据绑定那种。
hibernate-mapping 如何映射关联查询中被关联表的字段?
以下代码,我实例化后的list,t2的两个字段( t2.id2, t2.name2)全是null,而该语句放在pl/sql里搜出来字段都是有值的。请问原因是不是t1.hbm.xml没有对t2的映射?该怎么改?rnrnpublic List findT1() rn String strSql = "SELECT t1.*, t2.id2, t2.name2 FROM t1 LEFT JOIN t2 ON t1.id1=t2.id2rn";rn Session oSess = this.getHibernateTemplate().getSessionFactory().openSession();rn SQLQuery oQuery = oSess.createSQLQuery(strSql);rn oQuery = oQuery.addEntity(t1.class);rn List list = oQuery.list();rn oSess.close();rn return list;rnrnrnpublic class t1 implements java.io.Serializable rn private static final long serialVersionUID = 1L;rn private Integer id1;rn private String name1;rn private Integer id2;rn private String name2;rn ( 各种get & set ……)rnrnrnt1.hbm.xml中只映射了t1的字段,不知道该怎么映射t2的表和字段rn rn rn rn rn rn rn rn rn rn rn
postgresql怎么查出表的主键字段,关联的表,关联的表字段,求sql?
当greenplum数据库中的一个表中有两个主键时候,我这样写查询语句只能得到其中的一个主键字段,我怎么把两个主键都取出来?rn[code=sql]rnselect pg_constraint.conname as pk_name,pg_attribute.attname as colname,pg_type.typname as typename from rnpg_constraint inner join pg_class rnon pg_constraint.conrelid = pg_class.oid rninner join pg_attribute on pg_attribute.attrelid = pg_class.oid rnand pg_attribute.attnum = pg_constraint.conkey[1] --数据字典中的存储形式为1.4 是一个数组rninner join pg_type on pg_type.oid = pg_attribute.atttypidrnwhere pg_class.relname = 'ods_citemkind' rnand pg_constraint.contype='p'rn[/code]
如何快速获取记录集中的某个字段的数据组合成的数组
如何快速获取记录集中的某个字段的数据组合成的数组rnrn比如rn[表]rnID 姓名 性别rn我想把记录集的ID 组成一个数组 供以后的程序使用rnrn我目前的代码是这样的: 会不会很土啊???rnsql="select ID from 表 where ...."rnrs.open.........rndo while not rs.eofrn itemid=rs("ID")rn if idstring="" thenrn idstring=itemidrn elsern idstring=idstring&"|"&itemidrn end if rn rs.movenextrnlooprnrnshuzu=split(idstring,"|") '我的目的是得到这个数组rnrnrn有没有更好的方法?rnrnrn
thinkphp下批量修改某个字段
thinkphp下批量修改和删除某个字段 可以用复选框操作
ThinkPHP关联查询
使用tp框架进行项目开发的时候碰到了需要关联几张表查询的情况,查完thinkPHP3.2.3的开发手册之后顺便将其记录下来: 1.如果在model中没有定义关联模型 $User = D("User"); $user = $User->table("tableA, tableB")->where()->field()->select(); 可以通过这样的语句进行查询,然后可以通过"$U
Thinkphp的关联查询
文章表:article (字段:id  category_id  title  content);类别表:category (字段:id name);关联查询语句:1.table();$res = M('Article')->table('article as a,category as c')->where('a.id=1 AND a.category_id = c.id')-&gt...
thinkphp 关联查询 数据比对 exp
我查询数据是  关联两张表  一个是需求表  一个供应表    同一个公司  既可以发布需求  又可以供应    现在我以供应商的身份  查询有那些需求  但必须去除自己的供应  遇到一个问题 就是   需要关联 需求表  和供应表的  公司id 使用thinkphp 的关联查询   $map['demanid.company_id']  = array('neq','supply.
oralce 查出所有关联表
比如我有一个A表,rn我现在想查出所有关联这个表的表
以一个表的字段关联更新另一个表的某个字段
有两个表table1和table2rntable1rnid name sex classidrn1 aa d 2rn2 dd d 2rn3 ff d 2rn4 ff e 3rn5 ff e 3rnrntable2rnids names sexs uurn1 fdfd d 1rn2 sdf e 1rn3 sfsdf ll 1rn4 s e 1rn5 s e 1rn6 s e 1rnrn更新后 以classid='2'做为条件 rntable2 rnids names sexs uurn1 fdfd d 0rn2 sdf e 0rn3 sfsdf ll 0rn4 s e 1rn5 s e 1rn6 s e 1rnrntabel1和tabel2的id相同rn如果想根据第一个表的classid 作为where后面的条件来更新第二个表的 uu 为0 sql语句怎么写?rnupdate set uu ='0' where classid='2' 需要怎么进行关联。
关联表,取子表某个字段最小值
表一:rnID codern1 yirn2 errn3 sanrn表二:rnID PID startTimern1 1 2007-01-03rn2 1 2005-2-2rn3 2 2007-1-1rn======================rn问题是 :rn对两表关联:rn取结果:rnID code startTimern1 yi 2005-2-2rn2 er 2007-1-1rn
EF返回表中的某个字段以及返回关联查询的字段
在使用EF6.2时遇到一个需求,就是需要返回一张表中的某一个或者某一个字段;⑴、如果是在同一张表中的字段,那么获取这个比较简单:如下var list = from u in content.Employees join c in content.Positions on u.PositionId equals c.PositionId where u.E...
thinkphp查询某个字段为空的数据
序:由于我们在查询数据时,常常会使用['eq','']或者array('eq','')的写法,查询数据无法获取想要的结果。以下方法完美解决了这个问题。 $where['name'] = array('exp', 'is null'); //为空的 $where['name'] = array('exp', 'is not null'); //不为空的 ...
两个表组合成的数据窗口如何更新?
最近有个问题困扰着我,两个表组合成的数据窗口如何更新。当我在数据窗口用两个表组合成一个新的表时,需要在窗口对象中对该表实行更新,去出现了rnDataWindow does not have UPDATE capabilityrn我的源代码为:rnrnrtn = dw_reviewresult.Update()//dw_reviewresult为生成新表对应的窗口对象rnIF rtn = 1 THENrn COMMIT USING SQLCA;rn return 0rnELSErn ROLLBACK USING SQLCA;rn messagebox(sqlca.sqlerrtext,"样本没有保存成功")rn return -1rnEND IFrn 郁闷中!
多表关联查询后 怎么删除 查出的数据
selectrn *rn fromrn mims.dbo.enterCheckInfo entercheck0_ rn left outer joinrn mims.dbo.studentInfo studentinf1_ rn on entercheck0_.StudentID=studentinf1_.Id rn left outer joinrn mims.dbo.classInfo classinfo2_ rn on studentinf1_.ClassId=classinfo2_.ClassID rn left outer joinrn mims.dbo.schoolInfo schoolinfo3_ rn on classinfo2_.SchoolID=schoolinfo3_.SchoolID rn wherern 1=1 rn and schoolinfo3_.SchoolID=classinfo2_.SchoolID rn and classinfo2_.ClassID=studentinf1_.ClassId rn and studentinf1_.Id=entercheck0_.StudentID rn and schoolinfo3_.SchoolName='阳光新城小学' rn and classinfo2_.Grade='三年级' rn and classinfo2_.ClassName='四班' rn and entercheck0_.CheckDate>='2015-08-01 00:00:01' rn and entercheck0_.CheckDate<='2016-07-31 23:59:59' rn order byrn enterInfoDate DESCrn[color=#FF0000]上面多表关联查询后 查出的数据 怎么把他们 删除重复的(剩一条)呢?[/color]rnrn--过滤重复记录(只显示一条)rnSelect * From Name Where id In (Select Max(ID) From Name Group By name,sex)rn--删除(只显示一条)rnDelete Name Where ID Not In (Select Max(ID) From Name Group By name,sex)rn--SQl语句查询表中一个字段,去掉重复的记录rnselect distinct name,sex FROM Namernrn帮忙写一下吧rn
如何删除某个表中的所有数据或是某个表中某个字段的所有数据呢?
如何删除某个表中的所有数据或是某个表中某个字段的所有数据呢?
需要查出表的字段的个数
现在遇到一个新的问题,以前解决过行专列,列转换的查询,如今又遇到一个新颖的的问题,就是怎样可以吧一张表中的字段的个数查出来rn如:rn create table Emprn (rn eid int not null primary key identity(1,1),rn ename nvarchar(20) not null,rn eZip varchar(10),rn eadd nvarchar(50) not nullrn)rnrn我希望的结果是 4,并且进行分页,查询之后结果是 rn0rn1rn2rn3rn这样的显示。谢谢高手指教
如何得到某个表的一行的所有字段值(在线等)
zz=adoquer->FieldByName("id")->AsVariant;rnrnzz=adoquer->FieldByName("name")->AsVariant;rn ;rn ;rn ;rnrn难到得这样吗?? 如果我的表有三十个字段,我不得写三十遍呀?? 大家有简单的方法吗??
表添加字段并直接赋初值
alter table abc add id int default 0rn我用以上方法为什么赋的初值都是NULLrn求正确方法!!!
数据表中的某个字段如何与下拉框关联?
数据表中的某个字段如何与下拉框关联呢?使下来框里所以的选择项是该字段的内容?例如将学号同一个下拉框select1相关联.
有关关联表的数据字段的添加
我用ACEESS建立的数据库,其中A表和B表以编号关联,rnDim WithEvents adoRS As RecordsetrnDim db As Connectionrnrn Set adoRS = New Recordset rn adoRS.Open "SELECT A.a1,A.a2,B.B1,B.B2 form FROM A jion B on A.a1=B.b1", db, adOpenStatic, adLockOptimisticrnrn不知为何在添加数据字段时老是出现“有关联字段没添加,添加记录被取消”rnrn不知如何解决rn
thinkphp关联查询问题,join
$result = $room->join('r_hospital on r_department.hospital_id=r_hospital.id')->where(array('hospital_id'=>array('exp','is not null')))->select();rn大神们看看,where(array('hospital_id'=>array('exp','is not null')))这句话是什么意思?结果显示出来所有的医院,但我只想查某一个,把医院id等于$data,怎么做
ThinkPHP关联查询问题
我用的是最新的2.0版 在MODEL中写好了关联定义rn现在要在控制器里查数据rn用手册里说的relation(true)方法但是提示错误:Model:relation您所请求的方法不存在rnrn怎么回事呢?请帮我解答,谢谢大家啦rn源码rnrn关联定义(MODEL中)rn public $_link =array(rn 'lyType'=>array(rn 'maping_type'=>HAS_ONE,rn 'class_name'=>'lyType',rn 'foregin_key'=>'typeId',rn ),rnrnrn关联查询(控制器中)rn$ly=new lyModel();rn $list=$ly->relation(true)->find(1);rnrnrn错误提示:rnModel:relation您所请求的方法不存在
[ThinkPHP]关联查询问题
使用ThinkPHP框架开发.rnrnUser模型里关联了personalapply表:rn'personalapply' =>array(rn 'mapping_type'=>self::HAS_MANY,rn 'foreign_key'=>'uid',rn 'mapping_name'=>'personalapply',rn ),rnrn控制器里:根据前端接收的字段查询筛选(字段为personalapply表里字段)rn//获取个人中心的申请信息rn $limit_year = $_GET['limit_year'];rn $loanuse = $_GET['loanuse'];rn//申请表关联查询条件rn $user=D('user');rn $applymap['limit_year'] = $limit_year;rn $applymap['loanuse'] = $loanuse;rn $userapply=$user->relation('personalapply')->where($applymap)->select();//只能查询user表字段,不能查询personalapply表字段,rnrn问题:想要user表跟personalapply表关联后怎么根据变量查询 personalapply里数据,得出关联后的查询数据。模型里condition只能写死!不能传变量。(我新手也看手册了,手册里没有,估计是我知道的函数不全,ThinkPHP不行我就使用PHP SQL查询了,求大神指出ThinkPHP实现的方法,THX!!)
thinkphp 关联查询问题
有两个表,一个是医院r_hospital,另一个是科室r_department。怎样关联查询,选择完医院之后,科室只显示该医院的科室,而不显示其他医院的了
两个表如何关联查询了!
我现在有二个表如下:rn表名:PN_infornModel PN Ywei Site Supplier Name suffix toolrnDH18NS40 EAX37755533 1 PCB DYNAMIC R5rnDH18NS40 EAN02012020 1 IC TI R5rnDH40N EAN02012020 1 IC TI R7rnDH18NS40 EAZ40274004 1 PICKUP HME R5rnASS EAN02012021 1 IC TI R6rnrn表名:proplanrnModel Plan_qty date suffixrnDH16NS30 1300 2010-10-4 AUAA10BrnDH18NS40 3600 2010-9-9 AXBR2LBrnDH18NS40 800 2010-10-4 AXBR1LBrnDH18NS40 61 2010-10-4 AXBR1LBrnDH18NS40 7200 2010-10-6 AXBR1LBrnDH40N 3600 2010-9-14 ALVK32BrnDH40N 5951 2010-10-6 AXFA1NBrnDH40N 5625 2010-10-6 AXFA1NBrnGH22LS50 510 2010-9-11 AUAU10BrnGH22LS50 900 2010-9-11 AUAU10SrnGH22LS70 156 2010-9-11 AEVENTHrnGH22NP20 20 2010-9-18 AYMU13BrnGH22NP20 7200 2010-9-18 AYMU13BrnGH22NP21 5925 2010-10-5 AVAU10BrnGH22NP21 5925 2010-10-6 AVAU10BrnGH22NS40 734 2010-10-4 AZBU10BrnGH22NS40 3016 2010-10-5 AZBU10Brn我现在想要的是输入TOOL(比如输入R5)然后要找出R5所有PN的每天需求数量(即Proplan表中的plan_qty)!rn请高手指点下!
thinkphp中的多表关联查询
在进行后端管理系统的编程的时候一般会使用框架来进行页面的快速搭建,我最近使用比较多的就是thinkphp框架,thinkphp框架的应用其实就是把前端和后端进行分割管 理,前端用户登录查询系统放在thinkphp中的home文件夹中进行管理,后端管理系统放在thinkphp中的admin文件夹中进行管理。对了,在使用thinkphp框架的时候是是要用 到mvc架构的,mvc架构就是model(
sql 怎么查出一个表中三级关联的所有数据
一条数据有一个code,一个father_code。数据是三级关联,第一级是code有一个father_code;第二级是第一级的father_code作为code,有一个father_code;第三级是第二级的father_code 作为code,没有father_code。怎么根据第三级的code把关联的所有数据全部查出来?
如何查出表内15号以后的数据
我用到一个表order,字段和值如下:rnorderID account amount orderTimern1 A 30 2014-05-13 22:26:36.000rn2 B 27 2014-05-14 12:26:36.000rn3 C 100 2014-05-15 02:26:36.000rn4 D 40 2014-05-16 13:26:36.000rnrn我想查出15号以后到今天的数据。比如今天是6月4号,我就查出5月15号到今天的数据。如果今天是6月24号,我就查出6月15号到24号的数据rn这个语句怎么写?谢谢!
在ACCESS表中,如何查出类同的数据?
如何查出下表身份证号码字段里类同的数据?谢谢大家帮忙rnACCESS表如下:rn姓名 身份证号码rn张三 110100197911163344rn王五 220036197806083316rn李四 360122198011120253rn张三 110100197911163374rn李四 360122198011120256rnrn目的要查出上表内如下类同的身份证号码:rn张三 110100197911163344rn张三 110100197911163374rn李四 360122198011120253rn李四 360122198011120256
如何检索Excel某个表的最后一行
我的一个Excel文件里有多个表,第一个表的A列每行分别存储着后面所有表的名称。请问如何让B列显示对应A列名称的表的第M列最后一行的数据? rn如A列为sheet5,则B列显示sheet5表的第M列最后一行的数据。
sqlserver中查出表中的数据同时按某个字段分类插入多个表中
rn数据库中有表(anst)部分字段如下,要求把“For_item”字段中的数据分别导出为不同的EXCEL表中。如“缭ET”到一个表中,“2829”到另一个表,“00005”到一个表,表中有40万数据,大概有5000个分类,也就是说要导出到5000个EXCEL表中,请教各位大哥?rn表中部分字段:rn类别 For_item BY_ITEMrn注塑色粉 缭ET rn注塑色粉 缭ET rn注塑色粉 缭ET rn注塑色粉 缭ET rn车缝唛头纸 2829 2829-83rn车缝唛头纸 2829 2829-83rn裁片件 00000 rn裁片件 00000 rn裁片件 00000 rn裁片件 00005 rn裁片件 00005 rn裁片件 00005 rn裁片件 00005 rn说明书 00001 rn说明书 00001 rnrnrnrn我的做法如下:rnselect distinct For_item into testa from anst order by For_itemrnrndeclare @i int rndeclare @item nvarchar(255)rnset @i=1 rnset @item='item1'rnwhile @i<4192rnbeginrn 'select * into'+@item+ 'from anst where For_item in (select For_item from testa where id=@i)'rn set @i=@i+1rn set @item='item'+ @irnendrnrn但是数据库始终提示rnMsg 102, Level 15, State 1, Line 7rn'select * into' 附近有语法错误。rnMsg 102, Level 15, State 1, Line 10rn'end' 附近有语法错误。
sql关联查询,如何在母表的2个字段展示关联表的字段值
SELECT rn obj.`product_cc_id`,rn obj.`sup_org_code`,rn obj.`dis_org_code`,rn obj.`create_date`,rn obj.`last_update`,rn wb.`branch_name`rn FROMrn `product_charge_config` objrn LEFT JOIN `wx_branch` wb rn ON wb.`org_code` = obj.`sup_org_code`rnrnsup_org_code和dis_org_code都是对应的org_code字段。我这样的写法只能展示其中一个,另外一个如何展示??rn
? thinkphp关联模型 关联条件如何定义
? thinkphp关联模型 关联条件如何定义
thinkphp关联模型 关联条件如何定义
thinkphp关联模型 关联条件如何定义
获得其中一行的某个字段
我想用一个查询:(select * from 表名 where 条件),这个查询语句将会返回多行,我要知道其中任意一行的某个字段我应该怎么做,最好有例子,因为我还是菜鸟
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数