您的位置:首页 > 编程学习 > > 正文

laravel检查关联模型(Laravel 关联模型-关联新增和关联更新的方法)

更多 时间:2021-10-15 00:21:35 类别:编程学习 浏览量:1199

laravel检查关联模型

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

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

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

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

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

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • public function updatePatient($data=[])
  • {
  •   DB::beginTransaction();
  •   //先通过主键获得病人模型的实例
  •   $patient = $this->find($data['id']);
  •   if($patient->update($data)){
  •     if ($res = $patient->patientdata()->where('patient_id',$data['id'])->update(["数据"])){
  •       DB::commit();
  •     } else{
  •       DB::rollBack();
  •     }
  •     return true;
  •   }
  •   return false;
  • }
  • 以上这篇Laravel 关联模型-关联新增和关联更新的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。

    原文链接:https://blog.csdn.net/u010791660/article/details/83030748

    您可能感兴趣