Laravel 關(guān)聯(lián)模型-關(guān)聯(lián)新增和關(guān)聯(lián)更新的方法
網(wǎng)上找了 Laravel 相關(guān)的關(guān)聯(lián)新增和關(guān)聯(lián)更新文檔,寫的都不是很滿意。(基本都在抄文檔)下面整理下自己代碼中的關(guān)聯(lián)操作方法
按照 Laravel 文檔中的說明設(shè)置關(guān)聯(lián)模型 參考地址
//病人模型 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); }
關(guān)聯(lián)更新代碼
/** * 新增病人信息 * @param array $data * * @return bool */ public function savePatient($data=[]) { DB::beginTransaction(); if($patient = $this->create($data)){ if ($res = $patient->patientdata()->create(["數(shù)據(jù)"])){ DB::commit(); } else{ DB::rollBack(); } return true; } return false; }
關(guān)聯(lián)更新代碼
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(["數(shù)據(jù)"])){ DB::commit(); } else{ DB::rollBack(); } return true; } return false; }
以上這篇Laravel 關(guān)聯(lián)模型-關(guān)聯(lián)新增和關(guān)聯(lián)更新的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
laravel框架模板之公共模板、繼承、包含實現(xiàn)方法分析
這篇文章主要介紹了laravel框架模板之公共模板、繼承、包含實現(xiàn)方法,結(jié)合實例形式分析了Laravel框架中公共模板的建立、模板包含、模板繼承等相關(guān)操作技巧,需要的朋友可以參考下2019-08-08ThinkPHP6.0如何利用自定義驗證規(guī)則規(guī)范的實現(xiàn)登陸
這篇文章主要介紹了ThinkPHP6.0如何利用自定義驗證規(guī)則規(guī)范的實現(xiàn)登陸,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12如何在Laravel5.8中正確地應(yīng)用Repository設(shè)計模式
這篇文章主要介紹了如何在Laravel5.8中正確地應(yīng)用Repository設(shè)計模式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-11-11