thinkphp5一个表里的字段值就是另一个表里的字段值,怎么获取另一个表的字段值呢
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp5一个表里的字段值就是另一个表里的字段值,怎么获取另一个表的字段值呢相关的知识,希望对你有一定的参考价值。
Thinkphp内置的ORM和ActiveRecord模式实现了方便的数据存取操作,而且新版增加的连贯操作功能更是让这个数据操作更加清晰,但是ThinkPHP仍然保留了原生的SQL查询和执行操作支持,为了满足复杂查询的需要和一些特殊的数据操作,SQL查询的返回值因为是直接返回的Db类的查询结果,没有做任何的处理。而且可以支持查询缓存。主要包括下面两个方法:1、query方法
query方法是用于sql查询操作,和select一样返回数据集,例如:
$Model = new Model() // 实例化一个model对象 没有对应任何数据表
$Model->query("select * from think_user where status=1");
2、execute方法
用于更新和写入数据的sql操作,返回影响的记录数,例如:
$Model = new Model() // 实例化一个model对象 没有对应任何数据表
$Model->execute("update think_user set name='thinkPHP' where status=1");
关于原生SQL操作的一点补充
通常使用原生SQL需要手动加上当前要查询的表名,如果你的表名以后会变化的话,那么就需要修改每个原生SQL查询的sql语句了,针对这个情况,TP还提供了一个小的技巧来帮助解决这个问题。 参考技术A 插入与更新数据的时候,把数据同时赋值给两个字段就可以了本回答被提问者采纳
thinkPHP两个表查询:从一个表里取出6条数据的id,再根据这些id去查另一个表里的数据
有两张表:country:字段是:id,name ;另一张表是:info:字段是id,desc,country_id .现在需要从country表里查出6个国家,然后根据这些国家的id再从info表里查出相对应国家的desc信息。这些代码怎么写?
M('country')->join('info on info.country_id=country.country_id')
->where('country.country_id=1 or country.country_id=1 or ...自己写')
->select();
简单写这样就可以了,where里的添加自己写吧 把已知的country_id写在里面就好了 参考技术A 通过链接中地址传递的参数id,然后查询后赋值,然后模板中调用,具体代码如下:
thinkphp链接如:admin.php?m=User&a=buy&id=$info['id']
$id=$_GET[id];
$data=$user->getById($id);//查询id数据
$this->assign('data',$data);//将查询结果赋值到前台页面data
前台调用数据如下:
$data'id'],$data['name']//id,name 是数据库表User的字段名追问
我是想把info里的信息取出到前台。就是怎么把两张表结合起来查询呢?
以上是关于thinkphp5一个表里的字段值就是另一个表里的字段值,怎么获取另一个表的字段值呢的主要内容,如果未能解决你的问题,请参考以下文章
关于使用sql server 2008触发器完成修改一张表里一个字段同时修改另一张表的另一字段
SQL Server 怎么用存触发器实现从一个表里查询数据,然后插入到另一个表里
SQL中同一个表中,一个字段里面的值等于 另外一个表里面的值 例如表ABC 字段D里面的值如何更新到字段E里面