1. 程式人生 > 實用技巧 >Laravel 關聯模型-關聯新增和關聯更新的方法

Laravel 關聯模型-關聯新增和關聯更新的方法

網上找了 Laravel 相關的關聯新增和關聯更新文件,寫的都不是很滿意。(基本都在抄文件)下面整理下自己程式碼中的關聯操作方法

按照 Laravel 文件中的說明設定關聯模型 參考地址

//病人模型
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);
  } 
  

關聯更新程式碼

/**
 * 新增病人資訊
 * @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;
}

關聯更新程式碼

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 關聯模型-關聯新增和關聯更新的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援碼農教程。