问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

thinkphp5一个表里的字段值就是另一个表里的字段值,怎么获取另一个表的字段值呢

发布网友 发布时间:2022-04-29 07:43

我来回答

3个回答

懂视网 时间:2022-04-29 12:04

模型文件:/application/index/model/Staff.php

<?php
namespace appindexmodel;//导入模型类
use thinkmodel;class Staff extends model {
 //自定义模型类代码}

控制器文件: Index.php

<?php
namespace appindexcontroller;//导入模型类
use appindexmodelStaff;class Index {
 public function index(){ 
 //1.创建模型对象$model
 //此时的模型对象仅仅完成了与特定数据表的绑定
 //理论上讲,仍是一个没有任何数据的空模型
 $model = new Staff();
 //2.创建数据源,供创建数据对象使用
 $data = [];
 $data['id'] = 1001;
 $data['name'] = 'Peter';
 $data['age'] = 26;
 //3.data()方法完成前面模型对象的$data属性赋值
 //使模型对象转换成数据对象,现在$model 已经是数据对象啦
 $model -> data($data);
 //4.getData()方法获取数据对象原始数据$data
 $result = $model -> getData(); 
 //5.查看数据对象原始数据:$data属性(数组类型)
 dump($result); 
 
 }}

现在打开浏览器运行Index控制器的index方法:

//以下就是数据对象的原始数据//其实就是将数据对象中$data属性值输出array(3) {
 ["id"] => int(1001)
 ["name"] => string(5) "Peter"
 ["age"] => int(26)}

现在是输出了全部的原始数据,如果我们只需要其中一个元素,怎么做呢?

getData方法参数传入键名字符串,可获取指定的单个原始数据元素

我们仅修改上面控制器代码第四步操作即可:

//4.getData()方法获取数据对象原始数据$data['name']的值$result = $model -> getData('name');

这样即可获取原始数据$data中的name键名对应的值:

string(5) "Peter"

4. 总结:

这个方法很灵活,即可获取完整的原始数据,也可以获取其中的一个数据。在开发也是最常用的方法,特别是在模板制作中用得很多,一定要熟练掌握。

(推荐教程:thinkphp教程)

热心网友 时间:2022-04-29 09:12

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还提供了一个小的技巧来帮助解决这个问题。

热心网友 时间:2022-04-29 10:30

插入与更新数据的时候,把数据同时赋值给两个字段就可以了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 人们常吃的海鱼有哪些?河鱼包括哪些种类? 人们常吃的深海鱼有哪些呢 我们常吃的海鱼有哪些? 我国最好吃的四种鱼,你吃过哪种呢? 平时吃的海鱼有哪几种 我们常吃的鱼有哪几种?各有何特点? 5种常吃的海鱼 一般人们最常吃的都有什么鱼 中国银行企业网上银行对帐单打印 请问什么是电子对账单,在网银的什么地方,怎么打印 中国银行企业网银怎么打印对账单也就是交易明细,重点是企业网银、对账单不是要EXCEL形式的。 企业自己可以网上打印银行对账单吗? 长安银行怎么在网上打印转账明细单? 长安银行网上银行电子回单怎么打印 Python中文件放到哪个位置读取的时候不需要给指定路径,放的位置是任... 为什么馒头蒸了会变黄 原味馍头蒸出来为什么会变黄点? 馒头蒸好后发黄为什么? 过年对舅舅说的祝福语 舅舅50岁生日了,祝福语该怎么说呢? OPPO R15手机中间出现这样的虚线,是什么问题? 为什么我的oppor15右边出现一道竖线? oppo手机屏幕上出现一条条的黑杠,在家有什么解决方法吗? 什么替换压缩软件里面的文件 oppor15星云版屏中间有白线怎么回事? 在不解压的条件下怎么替换压缩包的文件啊 oppo手机玩着玩着屏幕中间突然出现一条线是怎么回事? 如何修改exe的自解压文件,我要把里面的一个文件替换掉 我用的魅族mx5手机,想清除一些内存,请问这个其他占用的内存怎么清除 怎样不解压就能替换压缩包内的文件? 要怎么在手机上不解压修改压缩包里的文件呢? 手抄报内容,主题:我们的节日——中国年 我把原来存于C盘的桌面移到了D盘(没有创建新文件夹,直接移进D盘),之后在D盘就找不到桌面了怎么办? 电脑C盘东西到D盘了,D盘数据全部不见了 把C盘的我的文档里的内容挪到D盘后,再删除C盘里的东西,D盘也没有了 用GHOST不慎将C盘复制到D盘了 D盘文件丢失还能恢复吗 ?? 我把C盘复制放到D盘。电脑系统重装,再看D盘为什么东西不见了 软件从C盘剪切到D盘,把快捷方式删了后,D盘检索也找不到软件(在系统卸载里能找到它),怎么找啊 三彩的种类 都哪个朝代有釉下五彩