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 相关文章推荐
Zend的AutoLoad机制介绍
Sep 27 PHP
php 如何获取数组第一个值
Aug 06 PHP
PHP 使用pcntl和libevent 实现Timer功能
Oct 27 PHP
PHP检测字符串是否为UTF8编码的常用方法
Nov 21 PHP
推荐10个提供免费PHP脚本下载的网站
Dec 31 PHP
php实现RSA加密类实例
Mar 26 PHP
PHP的Yii框架入门使用教程
Feb 15 PHP
PHP中CheckBox多选框上传失败的代码写法
Feb 13 PHP
Laravel中前端js上传图片到七牛云的示例代码
Sep 04 PHP
php数据库的增删改查 php与javascript之间的交互
Aug 31 PHP
PHP封装的验证码工具类定义与用法示例
Aug 22 PHP
详解Laravel设置多态关系模型别名的方式
Oct 17 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
中国站长站 For Dede4.0 采集规则
2007/05/27 PHP
php cache类代码(php数据缓存类)
2010/04/15 PHP
php类常量的使用详解
2013/06/08 PHP
php实现singleton()单例模式实例
2014/11/06 PHP
WordPress主题制作中自定义头部的相关PHP函数解析
2016/01/08 PHP
PHP查询附近的人及其距离的实现方法
2016/05/11 PHP
利用php_imagick实现复古效果的方法
2016/10/18 PHP
AES加解密在php接口请求过程中的应用示例
2016/10/26 PHP
使用javascript为网页增加夜间模式
2014/01/26 Javascript
浅析javascript中的DOM
2015/03/01 Javascript
兼容各大浏览器的JavaScript阻止事件冒泡代码
2015/07/09 Javascript
jQuery下拉菜单的实现代码
2016/11/03 Javascript
JS实现按钮颜色切换效果
2020/09/05 Javascript
JS兼容所有浏览器的DOMContentLoaded事件
2018/01/12 Javascript
jQuery使用bind动态绑定事件无效的处理方法
2018/12/11 jQuery
微信小程序学习笔记之获取位置信息操作图文详解
2019/03/29 Javascript
Vue运用transition实现过渡动画
2019/05/06 Javascript
Bootstrap实现模态框效果
2019/09/30 Javascript
JavaScript实现拖拽功能
2020/02/11 Javascript
Vue-cli4 配置 element-ui 按需引入操作
2020/09/11 Javascript
利用打码兔和超人打码自封装的打码类分享
2014/03/16 Python
python通过scapy获取局域网所有主机mac地址示例
2014/05/04 Python
python通过wxPython打开一个音频文件并播放的方法
2015/03/25 Python
python字典多键值及重复键值的使用方法(详解)
2016/10/31 Python
python画一个玫瑰和一个爱心
2020/08/18 Python
使用WingPro 7 设置Python路径的方法
2019/07/24 Python
使用Python操作ArangoDB的方法步骤
2020/02/02 Python
opencv python图像梯度实例详解
2020/02/04 Python
高清屏中使用Canvas绘图出现模糊的问题及解决方法
2019/06/03 HTML / CSS
Top Villas美国:豪华别墅出租和度假屋
2018/07/10 全球购物
EJB发布WEB服务一般步骤
2012/10/31 面试题
行政秘书工作自我鉴定
2014/09/15 职场文书
运动会800米赞词
2015/07/22 职场文书
一年之计:2019年下半年的计划
2019/05/07 职场文书
用PYTHON去计算88键钢琴的琴键频率和音高
2022/04/10 Python
使用 CSS 构建强大且酷炫的粒子动画效果
2022/08/14 HTML / CSS