Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

david001's avatar

How to use Join

my form is like this

   <form  action="{{action('Backend\Pharma\PharmacistRegisterController@index')}}"method="GET">
                                {!!
                                 Form::select('institution',$institution, null, ['class' => 'form-control','requipals','id'=>'inputwarning1','onchange'=>'submit()']) 
                                !!}
                                </form>

I have a three tables " pharmacist_registration","pharmacist_traning","institutional_setup"

in institutional_setup there are list of institutions

i got institutions in drop down from institutional_setup table,```DB::table('institutional_setup)->lists('name','name')

In "pharmacist_traning" table i have institution name, they are from institutional_setuptable

if($request->institution)
        {
            $pharmacists =  DB::table('pharmacist_traning')
            ->join('institutional_setup.name,'=','pharmacist_traning.institution')
            ->where('pharmacist_traning.institution',$request->institution)
          ->select('pharmacist_traning.pharmacist_id')->get();
dd($pharmacists);
}

i will pharmacist_id from pharmacist_traning.But i need to get results from pharmacist_registration table where pharmacist_registration.id equals to pharmacist_traning.pharmacist_id and this condition ->where('pharmacist_traning.institution',$request->institution) condition also should be satisfy

so i did like this

 if($request->institution)
        {
            $pharmacists =  DB::table('pharmacist_registration')
            ->join('institution_setup.name','=','pharmacist_traning.institution')
            ->join('pharmacist_registration.id','=','pharmacist_traning.pharmacist_id')
            ->where('institution_setup.institution',$request->institution)
            ->select('pharmacist_registration.full_name')
            ->get();
            dd($pharmacists);
        }

Hereid from pharmacist_registration is same aspharmacist_id from pharmacist_traning

But i got error like this

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'pharmacist_traning.institution `` inner join `pharmacist_registration`.`id` on `' at line 1 (SQL: select `pharmacist_registration`.`full_name` from `pharmacist_registration` inner join `institution_setup`.`name` on `=` pharmacist_traning.institution `` inner join `pharmacist_registration`.`id` on `=` pharmacist_traning.pharmacist_id `` where `institution_setup`.`institution` = InstitutionA)```

How can i select all resilts from pharmacist_registration table in this case

0 likes
1 reply
acitjazz's avatar
$users = DB::table('pharmacist_registration')
            ->join('pharmacist_traning', 'pharmacist_registration.id', '=', 'pharmacist_traning. pharmacist_id')
            ->select('pharmacist_registration.*', 'pharmacist_traning.You_want_toselect', 'pharmacist_traning.You_want_toselect')
            ->get();

Please or to participate in this conversation.