laravel查询构造器中别名的问题_非凡的世界的博客-CSDN博客_laravel select 别名


本站和网页 https://blog.csdn.net/wangshifan116/article/details/81560601 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

laravel查询构造器中别名的问题_非凡的世界的博客-CSDN博客_laravel select 别名
laravel查询构造器中别名的问题
非凡的世界
于 2018-08-10 11:36:44 发布
764
收藏
分类专栏:
Laravel
文章标签:
Laravel
Laravel
专栏收录该内容
8 篇文章
0 订阅
订阅专栏
Laravel框架对数据库的封装是比较完善的,用起来也比较方便。但之前有一个问题一直困扰着我,就是利用laravel作查询时。如果想给表名或是字段名起别名是比较麻烦的事。但翻阅它的文档不难发现,它提供了一个DB::raw()的方法给我们,利用这个方法,我们就可以轻松的实现对表的重命名。
问题还原:
一般的写法:DB::table('users')->select('id','username')->get();
这样写是一点问题没有的。
加别名的写法:DB::table('users as table1')->select('id')->get();
这样写也不会产生错误
我们尝试另一咱写法:DB::table('users as table1')->select('table1.id')->get();
这样写就报错了,但这种写法我们又是不能避免的,如我们要表users表进行自连接时,就必须要用到别名加点的方式去得到字段。这样问题就来了。
不着急,我们先看看这句话输出的SQL语句是什么样的。我们用laravel提供的一个方法toSql()去得到SQL语句
DB::table('usersas table1')->select('table1.id')->toSql();
结果为:select`ykttb_table1`.`id` from `ykttb_users` as `table1`
我们发现写table1.id时,laravel框架自动给我们加上了表前缀,很显然,这样的SQL语句得不到我们要的结果。
最后的尝试:DB::table('users astable1')->select(DB::raw('table1.id'))->get();
这样写就没错了,用上面的方法来输出SQL语句:select table1.id from `ykttb_users` as `table1`
这就是我们想要执行的SQL语句。
总结:在laravel中,给表起别名,直接写就可以;但在select语句中要用到表的别名来得到字段,我们就要在外面套一层DB::raw(),
非凡的世界
关注
关注
点赞
收藏
评论
laravel查询构造器中别名的问题
Laravel框架对数据库的封装是比较完善的,用起来也比较方便。但之前有一个问题一直困扰着我,就是利用laravel作查询时。如果想给表名或是字段名起别名是比较麻烦的事。但翻阅它的文档不难发现,它提供了一个DB::raw()的方法给我们,利用这个方法,我们就可以轻松的实现对表的重命名。 问题还原:一般的写法:DB::table('users')->select('id','use...
复制链接
扫一扫
专栏目录
参与评论
您还未登录,请先
登录
后发表或查看评论
博客
《管理者情商》---IQ , EQ and AQ
10-14
46
《管理者情商》余世维著北京大学出版社 “一日不读书,无人看得出;一周不读书,开始会爆粗;一月不读书,智商输给猪”。转眼想想不算计算机方面的书我已经两年没怎么读书了,果然已经到了智商连猪都不如的地步了。在亲爱的老姐的推荐下读了本《管理者情商》。 在这个的时代里,单打独斗已经成为历史,团队合作才是唯一的出路。IQ的重要性已经逐渐淡化,EQ的地位也在不断的提高。经过中国的教育我想大部分人在IQ上都不会有太大的差异,更能决定现在各自不同的未来的是我们的EQ。 第一章 "3Q"
博客
Mysql索引会失效的几种情况分析
02-09
3328
索引并不是时时都会生效的,比如以下几种情况,将导致索引失效:1.如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因) 注意:要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引2.对于多列索引,不是使用的第一部分(第一个),则不会使用索引3.like查询是以%开头4.如果列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不使用索引5.如果mysql估计使用全表扫描要比使用索引快,则不使用索...
博客
使用 Redis 如何设计一个分布式锁
01-19
96
前言现在的业务应用通常都是微服务架构,如果一个应用部署多个进程,那这多个进程如果需要修改操作同一行记录时,为了避免操作乱序导致数据错误,此时,我们就需要引入分布式锁来解决这个问题了。而实现分布式锁,大多有以下三种方式实现:使用 MySQL 实现使用 Redis 等缓存系统实现使用 Zookeeper 实现下面我们以 Redis 来讲解如何实现分布式锁,以及分布式锁的各种安全性问题。想要实现分布式锁,关键是使用 SETNX 指令。SETNXSETNX key value1这个命令
博客
c++中函数声明的后面加=0
12-02
106
纯虚函数是在声明虚函数时被“初始化”为0的函数。声明纯虚函数的一般形式是 virtual 函数类型 函数名 (参数表列) =0;注意: ①纯虚函数没有函数体; ②最后面的“=0”并不表示函数返回值为0,它只起形式上的作用,告诉编译系统“这是纯虚函数”; ③这是一个声明语句,最后应有分号。纯虚函数只有函数的名字而不具备函数的功能,不能被调用。它只是通知编译系统: “在这里声明一个虚函数,留待派生类中定义”。在派生类中对此函数提供定义后,它才能具备函数的功能,...
博客
HTML Tidy中文手册
12-01
41
HTML Tidy中文手册_snowqiang的专栏-CSDN博客
博客
如何在PHP中利用preg_replace() 对字符串进行替换
12-01
417
今天就跟大家聊聊有关如何在PHP中利用preg_replace() 对字符串进行替换,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
博客
fastadmin自定义表格搜索功能
07-15
1899
在fastadmin的搜索功能中默认显示所有字段都可以进行搜索,而且是隐藏显示,但我们一般是需要显示出来让客户一目了然,而且有些字段搜索用不上,这边文章记录一下解决方法。1.首先找到生成的js文件,在文件中找到初始化表格的部分,我们需要禁用默认搜索,开启普通表单搜索在初始化表格的代码里面加上下面这段代码//禁用默认搜索search: false,//启用普通表单搜索commonSearch: true,//可以控制是否默认显示搜索单表,false则隐藏,默认为falsesearchForm
博客
免费的二维码图片生成API接口和使用
06-29
751
如何在线生成二维码图片?本二维码 API 接口,可以将任何内容(字符、汉字或者网址等)转换生成二维码。本接口提供免费生成二维码图片的服务。免费版单 IP 最大访问频率是 1 次/秒,一个IP一天最多可访问 10000 次。如果有需要更多需求的可直接邮件联系。请求地址:https://api.nbhao.org/v1/qrcode/make请求方式:GET文档地址:https://api.nbhao.org/web/#/1?page_id=6请求参数有多个,其中text是必须要传入的,可以为
博客
easyswoole对接支付宝,微信支付
06-25
157
https://www.cnblogs.com/wadhf/p/11856449.html
博客
使用Cmder替换cmd,让开发更高效
06-19
46
https://www.jianshu.com/p/5b7c985240a7
博客
jmeter summary report 字段意思和设置集合点解释
06-15
301
1.需要在添加一个名为summary report的监听器,跑完之后查看Label:取样器/监听器名称Samples :事务数量Average:平均一个完成一个事务消耗的时间(平均响应时间)Median:所有响应时间的中间值,也就是50%用户的响应时间,大概是这个意思Min:最小响应时间Max:最大响应时间以上单位都是msStd.Dev:偏离量,越小表示越稳定Error %:错误事务率Throughtput:每秒事务数,即tpsKB/sec:网络吞吐量2..
博客
JMeter进行压力测试配置样例
06-12
298
JMeter是一款纯Java编写的,用于程序的功能和负载的!Java程序员必备神器!首先还是给下载地址下载之后解压。进入解压目录然后使用jmeter.bat 起动程序:成功起动后会出现以上两个界面,一个是命令行界面,一个图形界面 。一般情况,在图图形界面中配置相关的测试类容。下面直接举个栗子:假如我想要测试一下一个接口的抗并发能力,做如下配置1 .在TestPlan下右键新建一个线程组然后自定义线程的一些基本信息:2. 在线程组下新建一个http请求然后自定义一
博客
Redis 并发原子性原理
06-12
250
Redis原子性原理摘要:1、Redis是单进程单线程的网络模型,用的是epoll网络模型,网络模型都是单线程异步非阻塞处理网络请求2、Redis的单线程处理所有的客户端连接请求,命令读写请求。(有些任务比如rdb和aof等操作是fork子进程处理的,不会影响redis主线程处理客户端的命令)3、Redis提供的所有API操作,相对于服务端方面都是one by one执行的,命令是一个接着一个执行的,不存在并行执行的情况。4、Redis客户端就可能会出现高并发出现错误的读写数据,下面我们
博客
Thinkphp mysql 数据库断线重连 MySQL server has gone away
05-06
321
数据库断线重连是指,在服务器出现某些原因导致数据库连接中断,需要启动重新连接数据库,并重新执行中断的数据库操作。Thinkphp5.0 是支持数据库断线重连的,代码很值得学习。它支持查询 query(包括select查询等读取操作),执行 execute (包括insert、update等写入操作)和 事务 startTrans() 的断线重连 这三种类型的数据库断线重连操作。这个断线的判断是可配置的,需要将config['break_reconnect']的值设置为 true, 才会执行断线判断。..
博客
产品经理常用工具锦集
04-21
75
一、产品原型制作工具AxureMockupsPencil磨刀Visio二、思维导图工具MindManagerXMind百度脑图三、用户需求调研工具麦客CRM四、图像处理工具Photoshop创客贴GifCam(GIF制图工具)昵图网(图像素材网站)五、团队协作和文档工具团队协作工具TeambitionWorktileTowerSlack团队文档工具石墨文档有道云笔记+有道云协作Google Docs六、产品演示工
博客
Thinkphp批量更新数据的方法汇总
04-20
1374
以下小编给大家列出了三种实现thinkphp批量更新数据的方法,写的不好还请见谅,有意见欢迎提出,共同学习进步!//批量修改 data二维数组 field关键字段 参考ci 批量修改函数 传参方式function batch_update($table_name='',$data=array(),$field=''){if(!$table_name||!$data||!$field){return false;}else{$sql='UPDATE '.$table_name;}$con=
博客
nohup和&后台运行,进程查看及终止
04-16
105
1.nohup用途:不挂断地运行命令。语法:nohup Command [ Arg … ] [ & ]  无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。  如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。  如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。退出状态:该命令返回下列出口值:    126 可以查找但不能调用 Com.
博客
zencart常用一些跳轉語句
04-07
53
zencart常用一些跳轉語句1. 站點首頁<a href=”<?php echo zen_href_link(FILENAME_DEFAULT); ?>”>Home</a>2. 新産品頁面<a href=”<?php echo zen_href_link(FILENAME_PRODUCTS_NEW); ?>”>New Products</a>3. 特價商品頁面<a href=”<?php echo zen_href_
博客
【PHP类库】Requests - A humble HTTP request library
03-26
239
Requests是一个PHP的HTTP类库。相对于cURL等类库来说,它具有简单易用且友好的API,且不依赖于cURL。它支持HEAD、 GET、 POST、 PUT、 DELETE和PATCH等方法,基本能满足任何形式的HTTP请求。Requests不依赖于任何PHP标准库外的扩展,唯一的要求就是需要PHP5.2+的版本。但是如果PHP的cURL可用,Requests会优先使用它,否则会使用socket。安装和使用通过Composer安装{"require": {.
博客
PHP-resque使用经验总结
03-26
364
一、前言公司项目里面用到了推送等第三方库,为了更快速的响应,决定将推送功能放入消息队列中处理。那么,如何做消息队列呢?通过网上资料,找到以下几种方案:1)PHP+redis自己做消息队列2)PHP-Resque3)MemcacheQ4)RabbitMQ最后我们选了第二种方案,因为PHP-Resque是现成的框架,比第一种方案要方便,第二是由于我们的消息队列服务要求比较轻量级,PHP-Resque刚好满足我们的要求。那么,开始了。二、环境搭建有关PHP-resque的原理
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
非凡的世界
CSDN认证博客专家
CSDN认证企业博客
10
原创
2万+
周排名
82万+
总排名
8万+
访问
等级
876
积分
12
粉丝
10
获赞
评论
73
收藏
私信
关注
热门文章
手机号码归属地查询接口(精确到地市)
8867
激发无限潜能
6397
【PHP】PHP服务端支付宝支付及回调
5154
laravel where orwhere的写法
5035
Mysql索引会失效的几种情况分析
3328
分类专栏
管理
1篇
C++
1篇
产品经理
easyswoole
2篇
Laravel
8篇
云服务器
4篇
workerman
1篇
GatewayWorker
1篇
mysql
8篇
PHP
34篇
redis
5篇
js
4篇
go
1篇
文化
2篇
服务器
10篇
微信
1篇
最新评论
手机号码归属地查询接口(精确到地市)
非凡的世界:
我发布这篇文章的时候,还可以使用。现在可能是百度停止这个接口服务了。
分享一个PHP高性能导出excel的好方法
非凡的世界:
数量很大的话,可以把表格分割成几个表格,分批次操作。
手机号码归属地查询接口(精确到地市)
funadmin:
百度的不能用
分享一个PHP高性能导出excel的好方法
Fri9250:
这个最多只有65535行数据,请问怎么超过65535行
使用easyswoole进行开发web网站
非凡的世界
回复
JackZhu_1995: 本文纯粹是转载,如有雷同,纯属巧合。
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
《管理者情商》---IQ , EQ and AQ
Mysql索引会失效的几种情况分析
使用 Redis 如何设计一个分布式锁
2022年3篇
2021年22篇
2020年11篇
2019年13篇
2018年29篇
目录
目录
分类专栏
管理
1篇
C++
1篇
产品经理
easyswoole
2篇
Laravel
8篇
云服务器
4篇
workerman
1篇
GatewayWorker
1篇
mysql
8篇
PHP
34篇
redis
5篇
js
4篇
go
1篇
文化
2篇
服务器
10篇
微信
1篇
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值