加入一张桌子与4个其他桌子laravel雄辩

时间:2016-06-22 05:51:21

标签: php laravel eloquent

共有5个表格,例如Doctor表格(id,name,city_id,country_id,insurance_id,speciality_id)city表格(id,name,country_id)country表格(id,name)insurance表格(id,name)speciality表格(id,name)doctor_insurance表格(id,doctor_id,insurance_id)

关系如下: -

医生belongsTo城市和城市hasMany医生, 医生belongsTo专业和专业hasMany医生, 城市belongsTo国家和地区hasMany城市, 医生belongsToMany保险和保险belongsTOMany医生。

如何获取doctor where city=NewYork, Country=USA, Insurance=United Health Care and Speciality= Dentist的列表?

1 个答案:

答案 0 :(得分:2)

你可以像这样查询,

$result=DB::table("doctor as do")
->leftjoin('city  as ci', 'ci.id', '=', 'do.city_id')
->leftjoin("country as co","co.id","=","do.country_id")
->leftjoin("insurance as in","in.id","=","do.insurance_id")
->leftjoin("speciality as sp","sp.id","=","do.speciality_id")
->select('*')
->where('ci.name', '=', 'NewYork')
->where('co.name', '=', 'USA')
->where('in.name', '=', 'United Health Care')
->where('sp.name', '=', 'Dentist')
->get();