当前位置:首页 > CMS教程 > 其它CMS > 列表

Laravel 关联模型-关联新增和关联更新的方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-12-29 16:42:22 浏览: 评论:0 

网上找了 Laravel 相关的关联新增和关联更新文档,写的都不是很满意,(基本都在抄文档)下面整理下自己代码中的关联操作方法

按照 Laravel 文档中的说明设置关联模型 参考地址

  1. //病人模型 
  2. class Patient extends Model 
  3.   /** 
  4.    * 病人附表 
  5.    * @return \Illuminate\Database\Eloquent\Relations\HasOne 
  6.    */ 
  7.   public function patientdata () 
  8.   { 
  9.     return $this->hasOne(PatientData::class); 
  10.   } 
  11.     
  12.  //病人附表模型 
  13. class PatientData extends Model 
  14.   public function patient() 
  15.   { 
  16.     return $this->belongsTo(Patient::class); 
  17.   }  

关联更新代码

  1. /** 
  2.  * 新增病人信息 
  3.  * @param array $data 
  4.  * 
  5.  * @return bool 
  6.  */ 
  7. public function savePatient($data=[]) 
  8.   DB::beginTransaction(); 
  9.   if($patient = $this->create($data)){ 
  10.     if ($res = $patient->patientdata()->create(["数据"])){ 
  11.       DB::commit(); 
  12.     } else
  13.       DB::rollBack(); 
  14.     } 
  15.     return true; 
  16.   } 
  17.   return false; 

关联更新代码

  1. public function updatePatient($data=[]) 
  2.   DB::beginTransaction(); 
  3.   //先通过主键获得病人模型的实例 
  4.   $patient = $this->find($data['id']); 
  5.   if($patient->update($data)){ 
  6.     if ($res = $patient->patientdata()->where('patient_id',$data['id'])->update(["数据"])){ 
  7.       DB::commit(); 
  8.     } else
  9.       DB::rollBack(); 
  10.     } 
  11.     return true; 
  12.   } 
  13.   return false; 
  14. }

Tags: Laravel关联模型 Laravel关联更新

分享到: