我有像
这样的关系+------------+---------+
| id | problem |
+------------+---------+
| 1 | problem |
+------------+---------+
+------------+----------+---------+
| id | problemid|solution |
+------------+----------+---------+
| 1 | 1 |solution1|
+------------+----------+---------+
| 2 | 1 |solution2|
+------------+----------+---------+
我做了一个连接,问题是当我在视图中做一个foreach我得到2个具有相同问题的项目和2个不同的解决方案但我需要得到相同的问题(一个问题)和2个解决方案。我该怎么办?
这是Controller中的代码:
$problem=Problem::select()
->join('solution','problem.id','=','solution.problemid')
->where('problem.id',$id)
->get();
答案 0 :(得分:0)
$problem=Problem::select()
->leftjoin('solution','problem.id','=','solution.problemid')
->where('solution.id',$id)
->get();
答案 1 :(得分:0)
您应该使用GROUP_CONCTAT函数
编辑:现在它是正确的:D
DB::select('problem.*','solution.*')
->addSelect(DB::raw('GROUP_CONCAT(solution.solution)'))
->from('problem')
->join('solution', function($join) {
$join->on('problem.id', '=', 'solution.problemid');
})
->get();
答案 2 :(得分:0)
我找到了解决方案,我正在使用View:
DBMS_OUTPUT.PUT_LINE(v_emp_rec_tab(i).last_name);
对于在这里搜索相同问题的其他人是文档: