Поиск данных из нескольких таблиц в MySQL с использованием PHP Laravel

#php #laravel #search #matching

#php #laravel #Поиск #сопоставление

Вопрос:

В настоящее время я пытаюсь реализовать поиск данных из нескольких таблиц в моей базе данных mysql.

Данные таблицы образования — это CSE , HSC Diploma а данные таблицы JobCircular — это BSc in CSE .

теперь я пытаюсь найти соответствие CSE

мой код

 $profileId = Auth::guard('company')->user()->id;
$user_id = Applyer::
           where('com_id','=',$profileId)
           ->where('circular_id','=',$id)
           ->pluck('user_id')[0];

$examination = Education::selectRaw('subject')->where('user_id','=',$user_id)->orderBy('id','desc')->get();

   foreach ($examination as $exam => $sub) {     
      $exam_list = JobCircular::where('education_requirements','LIKE', "% 
                  {$sub}%")->get();
      }

echo "<pre>";
print_r([$exam_list]);
  

когда требования к циклическому образованию BSc вводятся CSE , я ожидаю, что результатом будут данные таблицы образования CSE

Ответ №1:

 $needed_exam_ids = [ ];

    $examination = 
    Education::where('user_id','=',$user_id)- 
    >orderBy('id','desc')->get();

   Foreach ($examination as $data) {     
        $exam_list = 
  JobCircular::where('education_requirements','LIKE', "% 
                  {$data->subject}%")->count();
       if($count > 0)
       {
           // get exam id if 'cse' exist
           array_push($needed_exam_ids,$data->id);
       }
      }

// the result you want.
$education_data = Education::whereIn('id',$needed_exam_ids)->get();