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 相关文章推荐
PHP学习笔记之二
Jan 17 PHP
PHP类与对象中的private访问控制的疑问
Nov 01 PHP
php var_export与var_dump 输出的不同
Aug 09 PHP
php遍历目录输出目录及其下的所有文件示例
Jan 27 PHP
解决Codeigniter不能上传rar和zip压缩包问题
Mar 07 PHP
Thinkphp搭建包括JS多语言的多语言项目实现方法
Nov 24 PHP
PHP递归遍历多维数组实现无限分类的方法
May 06 PHP
php 在字符串指定位置插入新字符的简单实现
Jun 28 PHP
PHP多种序列化/反序列化的方法详解
Jun 23 PHP
Laravel学习教程之View模块详解
Sep 18 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
Oct 10 PHP
PHP如何实现订单的延时处理详解
Dec 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
PHP 服务器配置(使用Apache及IIS两种方法)
2009/06/01 PHP
destoon各类调用汇总
2014/06/20 PHP
PHP使用strtotime计算两个给定日期之间天数的方法
2015/03/18 PHP
取得父标签
2006/11/14 Javascript
javascript 简单高效判断数据类型 系列函数 By shawl.qiu
2007/03/06 Javascript
给artDialog 5.02 增加ajax get功能详细介绍
2012/11/13 Javascript
jQuery中[attribute]选择器用法实例
2014/12/31 Javascript
Node.js 去掉种子(torrent)文件里的邪恶信息
2015/03/27 Javascript
jQuery实现网页抖动的菜单抖动效果
2015/08/07 Javascript
js实现Form栏显示全格式时间时钟效果代码
2015/08/19 Javascript
学习JavaScript设计模式(继承)
2015/11/26 Javascript
基于JavaScript实现自定义滚动条
2017/01/25 Javascript
如何获取元素的最终background-color
2017/02/06 Javascript
JS实现多物体运动的方法详解
2018/01/23 Javascript
react-native使用leanclound消息推送的方法
2018/08/06 Javascript
js实现贪吃蛇游戏 canvas绘制地图
2020/09/09 Javascript
React倒计时功能实现代码——解耦通用
2020/09/18 Javascript
Python写的创建文件夹自定义函数mkdir()
2014/08/25 Python
Python实现列表删除重复元素的三种常用方法分析
2017/11/24 Python
selenium+python自动化测试之页面元素定位
2019/01/23 Python
pymongo中聚合查询的使用方法
2019/03/22 Python
Python使用__new__()方法为对象分配内存及返回对象的引用示例
2019/09/20 Python
python集合的创建、添加及删除操作示例
2019/10/08 Python
如何给Python代码进行加密
2020/01/10 Python
墨西哥网上购物:Linio墨西哥
2016/10/20 全球购物
意大利自行车商店:Cingolani Bike Shop
2019/09/03 全球购物
中科软测试工程师面试题
2012/06/16 面试题
车祸赔偿收入证明
2014/01/09 职场文书
电气自动化专业职业规划范文
2014/02/16 职场文书
大课间体育活动方案
2014/03/12 职场文书
一年级数学下册复习计划
2015/01/17 职场文书
南京导游词
2015/02/03 职场文书
2016暑期政治学习心得体会
2016/01/23 职场文书
用python实现监控视频人数统计
2021/05/21 Python
改造DE1103三步曲
2022/04/07 无线电
Sentry的安装、配置、使用教程(Sentry日志手机系统)
2022/07/23 Python