php - 如何在 Laravel 上构建合并和构建组查询?

标签 php mysql sql laravel eloquent

现在我使用这个查询来显示下面的结果 查询:

 $data['faculty'] = Faculty::select('faculties.id', 'faculties.faculty', 'faculties.slug', 'faculties.status','s.semester','fs.faculty_id')
->join('faculty_semester as fs', 'faculties.id', '=', 'fs.faculty_id')
->join('semesters as s', 's.id', '=', 'fs.semester_id')
->orderBy('faculties.faculty', 'asc')
->get();

显示结果

1     BBA      FIRST SEM
2     BBA      SECOND SEM   
3     BBA      FOURTH SEM
4     BBA      THIRD SEM
5     BBS      SECOND YEAR
6     BBS      FIRST YEAR

但我想在组中显示。 如何在 Laravel 上构建组查询以显示结果下方

1     BBA      FIRST SEM, 
               SECOND SEM
               THIRD SEM
               FOURTH SEM
2     BBS      FIRST YEAR
               SECOND YEAR

最佳答案

我建议使用预先加载,在模型中声明关系

https://laravel.com/docs/5.5/eloquent-relationships#eager-loading , 这样你就可以避免使用连接..

你试过吗?

$data['faculty'] = Faculty::select('faculties.id', 'faculties.faculty', 'faculties.slug', 'faculties.status','s.semester','fs.faculty_id')
->join('faculty_semester as fs', 'faculties.id', '=', 'fs.faculty_id')
->join('semesters as s', 's.id', '=', 'fs.semester_id')
->groupBy('faculties.faculty')
->get();

关于php - 如何在 Laravel 上构建合并和构建组查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47204453/

相关文章:

sql - 在 CREATE 语句中将一列的默认值设置为另一列的值?

mysql - 将两个求和结果相结合?

sql - INNER JOIN ON 与 WHERE 子句

php - Woocommerce 网站上的机器人垃圾邮件过滤器请求

用于提取 FDF 数据的 PHP 正则表达式代码

php - 如何从此URL“http://localhost/blog/public/post?id = 2”中删除“?id =”?

mysql - ODBC 5.1 驱动程序 [mysqld-5.1.41] 语法错误

MySQL 查询 - 如何使用 GROUP BY 和 WHERE 条件获取 SUM 并使用 LEFT OUTER JOIN?

php - 使用 PHP 从 html 标签中删除属性,同时保留特定属性

mysql从结果中排名