Laravel 连表查询重复相同字段只显示一个字段的解决办法?

Song5171 次浏览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();

提交评论

请登录后评论

用户评论

    当前暂无评价,快来发表您的观点吧...

更多相关好文

    当前暂无更多相关好文推荐...