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


Posted in PHP onOctober 10, 2019

网上找了 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 相关文章推荐
很实用的一个完整email发送程序
Oct 09 PHP
PHP 导出数据到淘宝助手CSV的方法分享
Feb 27 PHP
PHP开发规范手册之PHP代码规范详解
Jan 13 PHP
php学习笔记 php中面向对象三大特性之一[封装性]的应用
Jun 13 PHP
PHP使用静态方法的几个注意事项
Sep 16 PHP
php实现的click captcha点击验证码类实例
Sep 23 PHP
php类的扩展和继承用法实例
Jun 20 PHP
php while循环控制的简单实例
May 30 PHP
PHP中header函数的用法及其注意事项详解
Jun 13 PHP
Laravel中Facade的加载过程与原理详解
Sep 22 PHP
php实现微信原生支付(扫码支付)功能
May 30 PHP
PHP PDOStatement::bindParam讲解
Jan 30 PHP
Laravel 实现关系模型取出需要的字段
Oct 10 #PHP
thinkphp 5框架实现登陆,登出及session登陆状态检测功能示例
Oct 10 #PHP
laravel框架查询数据集转为数组的两种方法
Oct 10 #PHP
thinkphp5框架实现数据库读取的数据转换成json格式示例
Oct 10 #PHP
在laravel中使用with实现动态添加where条件
Oct 10 #PHP
Laravel关系模型指定条件查询方法
Oct 10 #PHP
laravel 输出最后执行sql 附:whereIn的使用方法
Oct 10 #PHP
You might like
一个很方便的 XML 类!!原创的噢
2006/10/09 PHP
实现了一个PHP5的getter/setter基类的代码
2007/02/25 PHP
ThinkPHP自动填充实现无限级分类的方法
2014/08/22 PHP
Yii2创建控制器(createController)方法详解
2016/07/23 PHP
jquery.validate使用攻略 第一部
2010/07/01 Javascript
使用jQuery解决IE与FireFox下createElement方法的差异
2013/11/14 Javascript
通过正则表达式实现表单验证是否为中文
2014/02/18 Javascript
AngularJS学习笔记之ng-options指令
2015/06/16 Javascript
详解Vue2.0配置mint-ui踩过的那些坑
2018/04/23 Javascript
react中使用swiper的具体方法
2018/05/15 Javascript
微信小程序实现手指触摸画板
2018/07/09 Javascript
在vue中使用SockJS实现webSocket通信的过程
2018/08/29 Javascript
深入了解JavaScript代码覆盖
2019/06/13 Javascript
解决mui框架中switch开关通过js控制开或者关状态时小圆点不动的问题
2019/09/03 Javascript
python学习手册中的python多态示例代码
2014/01/21 Python
详解使用pymysql在python中对mysql的增删改查操作(综合)
2017/01/18 Python
Django视图和URL配置详解
2018/01/31 Python
Python3.4 tkinter,PIL图片转换
2018/06/21 Python
Python中交换两个元素的实现方法
2018/06/29 Python
Python3获取电脑IP、主机名、Mac地址的方法示例
2019/04/11 Python
关于python3中setup.py小概念解析
2019/08/22 Python
python实现音乐播放器 python实现花框音乐盒子
2020/02/25 Python
Python提取视频中图片的示例(按帧、按秒)
2020/10/22 Python
国外平面设计素材网站:The Hungry JPEG
2017/03/28 全球购物
蔻驰法国官网:COACH法国
2018/11/14 全球购物
旅游与酒店管理的自我评价分享
2013/11/03 职场文书
党的群众路线教育实践活动总结报告
2014/04/28 职场文书
班级年度安全计划书
2014/05/01 职场文书
法人授权委托书公证范本
2014/09/14 职场文书
党员民主评议总结
2014/10/20 职场文书
营销经理工作检讨书
2014/11/03 职场文书
论文答谢词
2015/01/20 职场文书
2015年社区重阳节活动总结
2015/07/30 职场文书
五年级语文教学反思
2016/03/03 职场文书
vue-cropper插件实现图片截取上传组件封装
2021/05/27 Vue.js
SpringDataJPA实体类关系映射配置方式
2021/12/06 Java/Android