Соединить 3 таблицы с помощью построителя запросов в laravel - PullRequest
0 голосов
/ 27 апреля 2018

У меня есть 3 таблицы вопросов, регистрации, ssi_tracks, мне нужно получить подробности из таблицы регистрации, соответствующие двум другим таблицам

мне нужно получить информацию о регистрации на основе questions.question_schedul = 0, ssi_tracks.track_first_status

Я написал запрос, но он говорит, что столбец не найден, вот мой запрос

 $register = DB::table('registrations')
            ->join('questions', 'registrations.registration_id', '=', 'questions.question_id')
             ->join('ssi_tracks','registrations.registration_id','=','ssi_tracks.registration_id')
             ->select('address', 'model', 'chassis', 'delivery_date','ssi_tracks.track_first_status')
            ->where([["questions.question_schedul", "=", $dropselected] and ['ssi_tracks.track_first_status',0]])
             ->get();

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Попробуйте это:

$register = DB::table('registrations as R')
             ->select('R.address', 'R.model', 'R.chassis', 'R.delivery_date','S.track_first_status')
             ->join('questions as Q', 'R.registration_id', '=', 'Q.question_id')
             ->join('ssi_tracks as S','R.registration_id','=','S.registration_id')
             ->where('Q.question_schedul', '=', $dropselected)
             ->where('S.track_first_status', '=', 0)
             ->get();

Убедитесь, что вы использовали правильный столбец из таблицы вопросов для соответствия идентификатору регистрации:

->join('questions as Q', 'R.registration_id', '=', 'Q.question_id')
0 голосов
/ 27 апреля 2018

попробуйте этот запрос:

$register = DB::table('registrations')
             ->leftJoin('questions', 'registrations.registration_id', '=', 'questions.question_id')
             ->leftJoin('ssi_tracks','registrations.registration_id','=','ssi_tracks.registration_id')
             ->select('registrations.address', 'registrations.model', 'registrations.chassis', 'registrations.delivery_date','ssi_tracks.track_first_status')
             ->where(['questions.question_schedul'=>$dropselected,'ssi_tracks.track_first_status'=>0])
             ->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...