Laravel 连表查询重复相同字段只显示一个字段的解决办法?
Song •
5753 次浏览 •
0个评论 •
2017年09月13日
SQL或者laravel在联合查询时,在两张表都相同字段时候,left join 时候如何让右表数据直接覆盖左表,而不是自动重命名,怎么办?Laravel连表查询重复相同字段只显示一个字段的解决办法?
一、SQL中的解决办法(原始表达式)
sql已经提供了重复字段的解决办法,那就是使用as重新命名字段,如下我们来看一个例子:
select `orders`.`name`, `business`.`name` as `bname` from `orders` left join `business` on `orders`.`b_id` = `business`.`id`;
那么我们如何在larave中使用原生SQL来查询防止重复字段只取一个呢?
$users = DB::select('select `orders`.`name`, `business`.`name` as `bname` from `orders` left join `business` on `orders`.`b_id` = `business`.`id`');
二、如果我们用Eloquent来查询(laravel等框架)
我们可以直接在select字段中重命名字段,如下操作
DB::tables("orders")
->leftJoin('business', 'orders.b_id', '=', 'business.id')
>select("orders.name","business.name as bname")
->get();
-
laravel5安装使用Redis以及解决Class 'Predis\Client' not found错误 2017-09-12 -
ubuntu中redis的安装与设置以及允许远程访问 2017-09-12 -
laravel中distinct()的使用方法与去重 2017-09-11 -
laravel如何从mysql数据库中随机抽取n条数据(高性能) 2017-09-11 -
laravel提交表单带参数返回,记住上一次输入,return back()->withInput() 2017-09-10

更多相关好文