網上找了 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 關聯模型-關聯新增和關聯更新的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- PHP laravel中的多對多關系實例詳解
- Laravel關聯模型中過濾結果為空的結果集(has和with區別)
- laravel學習教程之關聯模型
- 圖文詳解laravel多對多關聯模型