Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel5.1查询关系(雄辩的ORM)_Php_Laravel_Laravel 5.1 - Fatal编程技术网

Php Laravel5.1查询关系(雄辩的ORM)

Php Laravel5.1查询关系(雄辩的ORM),php,laravel,laravel-5.1,Php,Laravel,Laravel 5.1,我的模式是耐心->样品->准备好样品,所有的关系都是一对一, 我的问题是我需要知道病人的名字 病人模型 class Patient_Model extends Base_Model { protected $table = 'patients'; public function samples(){ return $this->hasMany('App\Models\Sample_Model','patient_id','code'); }

我的模式是耐心->样品->准备好样品,所有的关系都是一对一, 我的问题是我需要知道病人的名字

病人模型

class Patient_Model extends Base_Model {

    protected $table = 'patients';

    public function samples(){
        return $this->hasMany('App\Models\Sample_Model','patient_id','code');
    }   
}
样本模型

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');
    }
}
准备好的样品模型

class Ready_Sample_Model extends Model{

    protected $table = 'ready_samples';

    public function sample(){
        return $this->belongsTo('App\Models\Sample_Model','sample_id','code');
    }
}
采样控制器

class Sample_Controller extends Controller{

    public function query(Request $request){

    $result = Sample_Model::with(['patient']);
        ->orderBy("updated_at","desc")
        ->Paginate(15)
        ->toJson();
   return $result;
}

在示例中,我知道如何获取patient.name,但准备好了吗?示例如何获取patient.name?

您可以使用以下代码获取
patient.name

$readySample = Ready_Sample_Model::first(); // fetch the first record

echo $readySample->sample->patient->name;

希望有帮助

您可以使用以下代码获取患者的
姓名

$readySample = Ready_Sample_Model::first(); // fetch the first record

echo $readySample->sample->patient->name;

希望有帮助

谢谢,但我有很多这样的关系。例如:病人->样本->准备就绪->xxx->xxx->xxx->演示,但演示我也得到了一个病人的名字。我应该为关系编写行代码?…谢谢,但我有很多这样的关系。例如:病人->样本->准备就绪->xxx->xxx->xxx->演示,但演示我也得到了一个病人的名字。我应该为关系编写行代码?。。。。