我的模型是患者 - > Sample-> Ready_Sample,关系都是oneToMany, 我的问题是我查询Ready_Sample需要知道patient.name
Patient_Model
class Patient_Model extends Base_Model {
protected $table = 'patients';
public function samples(){
return $this->hasMany('App\Models\Sample_Model','patient_id','code');
}
}
Sample_Model
class Sample_Model extends Base_Model{
protected $table = 'samples';
public function patient(){
return $this->belongsTo('App\Models\Patient_Model','patient_id','code');
}
public function ready_samples(){
return $this->hasMany('App\Models\Ready_Sample_Model','sample_id','code');
}
}
Ready_Sample_Model
class Ready_Sample_Model extends Model{
protected $table = 'ready_samples';
public function sample(){
return $this->belongsTo('App\Models\Sample_Model','sample_id','code');
}
}
在Sample_Controller中
class Sample_Controller extends Controller{
public function query(Request $request){
$result = Sample_Model::with(['patient']);
->orderBy("updated_at","desc")
->Paginate(15)
->toJson();
return $result;
}
在Sample中我知道得到patient.name,但Ready_Sample如何获得Patien.name?
答案 0 :(得分:0)
您可以使用以下代码获取patient.name
:
$readySample = Ready_Sample_Model::first(); // fetch the first record
echo $readySample->sample->patient->name;
希望它有所帮助!