【发布时间】:2021-07-04 23:17:18
【问题描述】:
我想在查询构建器 JSON 资源 Laravel 中合并表问题和选择。当我尝试这个时,我遇到了一个错误;我的代码有什么问题?
这是我的 CurriculumDisplayResource:
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
use Illuminate\Support\Facades\DB;
class CurriculumDisplayResource extends JsonResource
{
public function toArray($request)
{
$second = DB::table('questions')
->join('quizzes','quizzes.id','=','questions.quiz_id')
->select('questions.*')
->get();
$third = DB::table('choices')
->join('questions','questions.id','=','choices.question_id')
->select('choices.*')
->get();
return [
'id' => $this->id,
'title_section' => json_decode($this->title_section),
'learning_objective'=> json_decode($this->learning_objective),
'content_detail' =>
DB::table('curriculums')
->join('content_texts','curriculums.id','=','content_texts.curriculum_id')
->join('content_files','curriculums.id','=','content_files.curriculum_id')
->join('content_videos','curriculums.id','=','content_videos.curriculum_id')
->join('quizzes','curriculums.id','=','quizzes.curriculum_id')
->select('content_texts.title_text','content_texts.text_course',
'content_files.title_file','content_files.file_course','content_videos.title_video',
'content_videos.video_course','quizzes.title_quiz','quizzes.')
->union($second)
->union($third)
->get(),
'parent_id' => $this->id,
];
}
}
这是错误:
【问题讨论】:
-
我想正确的标题是“如何在 laravel 中合并两个以上的表?”请修复
标签: php laravel eloquent laravel-query-builder laravel-collection