如何在laravel中联合两个以上的表?

问题描述

我想在查询生成器 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','content_files.curriculum_id')
                            ->join('content_videos','content_videos.curriculum_id')

                            ->join('quizzes','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,];
    }
}

这是错误

enter image description here

解决方法

如果您想在 ->get() 方法中使用它们,则不应在查询的末尾使用 union()

$second = DB::table('questions')
    ->join('quizzes','quizzes.id','=','questions.quiz_id')
    ->select('questions.*');

$third = DB::table('choices')
    ->join('questions','questions.id','choices.question_id')
    ->select('choices.*');

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...