網(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();
//先通過主鍵獲得病人模型的實(shí)例
$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)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- PHP laravel中的多對多關(guān)系實(shí)例詳解
- Laravel關(guān)聯(lián)模型中過濾結(jié)果為空的結(jié)果集(has和with區(qū)別)
- laravel學(xué)習(xí)教程之關(guān)聯(lián)模型
- 圖文詳解laravel多對多關(guān)聯(lián)模型