【发布时间】:2018-09-04 14:19:44
【问题描述】:
基本上我有一种情况,我在 laravel 查询中创建了两个左外连接,现在我想选择两列并为它们放置一个别名,如果一列为空,则使用其他列的值作为新的别名列。 SQL中的NVL之类的东西。有什么建议吗?
我尝试了类似 ...->select('one or other as newName');但它不会工作。
编辑:我有一个表格,用于存放我与用户、news_groups 和 magazine_groups 一起加入的文章。有 news_group 的文章不会有 magazine_group。我想在使用别名的选择中将它们一起显示在一个连接列中。
DB::table('articles')
->leftJoin('articles', 'articles.id', '=', 'articles.user_id')
->leftJoin('news_groups', 'news_groups.id', '=', 'articles.news_group_id')
->leftJoin('magazine_groups', 'magazine_groups.id', '=', 'articles.magazine_groups_id')
->select('articles.id', 'type', 'title', 'articles.published_at',
'users.first_name','users.last_name', 'news_groups.name or magazine_groups.name as group_name')
->groupBy('articles.id');
【问题讨论】:
-
一个完整的代码示例将不胜感激。你能用原始的 sql 代替 ORM 吗?
-
要改善您的 SO 体验,请阅读如何询问 On Topic question、Question Check list 和 the perfect question 以及如何创建 Minimal, Complete and Verifiable Example 和 take the tour
-
像大多数关于 SO 的问题一样,如果你展示你的代码,你会得到社区更好更快的响应。
-
对不起,在这里。