Laravel使用DB的select查询时,在查询结果中增加一个字段并指定固定值

编程入门 行业动态 更新时间:2024-10-11 13:21:43

Laravel使用DB的select查询时,在查询结果中增加一个<a href=https://www.elefans.com/category/jswz/34/1771443.html style=字段并指定固定值"/>

Laravel使用DB的select查询时,在查询结果中增加一个字段并指定固定值

前言:假设在关联查询中(参考巧用union联合查询实现对分表或相似结构表的多表操作),查询出三张表的含有id和title等相同字段的数据N条,现在需要有一个字段来分清这N条数据属于那张表查询到的。

实现:

我们在查询的时候,就可以在返回结果中新增一个字段table_name,并指定值为指定表名。

 

 select *,"videos" as table_name from videos;

 

  • sql原生查询语句
  • Laravel在DB的select查询使用DB::raw(
$videos=DB::table('videos')->select([DB::raw('"videos" as table_name'),'id','title','sub_title','user_id','category_id','status','verify_status','created_at','deleted_at']);$article=DB::table('articles')->select([DB::raw('"articles" as table_name'),'id','title','sub_title','user_id','category_id','status','verify_status','created_at','deleted_at']);$query=DB::table('pictures')->select([DB::raw('"pictures" as table_name'),'id','title','sub_title','user_id','category_id','status','verify_status','created_at','deleted_at'])->unionAll($videos)->unionAll($article);$querySql = $query->toSql();$result = DB::table(DB::raw("($querySql) as r"))->mergeBindings($query)->orderBy('deleted_at','asc')->whereNotNull('deleted_at')->get();

         注意上面的格式,使用关键字as,as 可理解为:用作、当成,作为;平常使用as是为字段取一个别名,as的左边是一个原始字段名,右边是新的别名,该别名会显示在查询结果中,而原始字段名代表的就是该字段的值;        此处为新增字段指定固定值,as的左边为新增字段的固定值,右边才是新增字段的字段名,此时字段名不用加引号,如果固定值为数值型则不用加引号,如果固定值为其他类型则必须加引号

 

 

 

更多推荐

Laravel使用DB的select查询时,在查询结果中增加一个字段并指定固定值

本文发布于:2024-02-19 12:56:45,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1764115.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字段   查询结果   Laravel   DB   select

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!