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 相关文章推荐
服务器web工具 php环境下
Dec 29 PHP
PHP新手NOTICE错误常见解决方法
Dec 07 PHP
PHP生成唯一的促销/优惠/折扣码(附源码)
Dec 28 PHP
PHP无法访问远程mysql的问题分析及解决
May 16 PHP
PHP curl 获取响应的状态码的方法
Jan 13 PHP
php校验表单检测字段是否为空的方法
Mar 20 PHP
php实现随机生成易于记忆的密码
Jun 19 PHP
yii实现model添加默认值的方法(2种方法)
Jan 06 PHP
PHP实现多图上传(结合uploadify插件)思路分析
Nov 30 PHP
PHP7如何开启Opcode打造强悍性能详解
May 11 PHP
php strftime函数获取日期时间(switch用法)
May 16 PHP
PHP实现的简单留言板功能示例【基于thinkPHP框架】
Dec 07 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中将字符串转化为整数(int) intval() printf() 性能测试
2020/03/20 PHP
php简单实现多维数组排序的方法
2016/09/30 PHP
PHP性能分析工具xhprof的安装使用与注意事项
2017/12/19 PHP
文本加密解密
2006/06/23 Javascript
异步javascript的原理和实现技巧介绍
2012/11/08 Javascript
引用外部js乱码问题分析及解决方案
2013/04/12 Javascript
动态设置form表单的action属性的值的简单方法
2016/05/25 Javascript
Javascript中引用类型传递的知识点小结
2017/03/06 Javascript
windows下vue.js开发环境搭建教程
2017/03/20 Javascript
微信小程序实战之仿android fragment可滑动底部导航栏(4)
2020/04/16 Javascript
BootStrap表单控件之文本域textarea
2017/05/23 Javascript
js制作简单的音乐播放器的示例代码
2017/08/28 Javascript
JS实现登录页密码的显示和隐藏功能
2017/12/06 Javascript
小程序实现页面顶部选项卡效果
2018/11/06 Javascript
JavaScript动态添加数据到表单并提交的几种方式
2019/06/26 Javascript
vue内置组件component--通过is属性动态渲染组件操作
2020/07/28 Javascript
python的即时标记项目练习笔记
2014/09/18 Python
Python3实现将本地JSON大数据文件写入MySQL数据库的方法
2018/06/13 Python
django+echart数据动态显示的例子
2019/08/12 Python
Django框架创建项目的方法入门教程
2019/11/04 Python
Python实现清理微信僵尸粉功能示例【基于itchat模块】
2020/05/29 Python
python cv2.resize函数high和width注意事项说明
2020/07/05 Python
英国高档时尚男装购物网站:MR PORTER
2016/08/09 全球购物
美体小铺英国官网:The Body Shop英国
2017/01/24 全球购物
英国领先的杂志订阅网站:Magazine.co.uk
2018/01/25 全球购物
美国在线家具网站:GDFStudio
2021/03/13 全球购物
公证书样本
2014/04/10 职场文书
技术比武方案
2014/05/19 职场文书
顶岗实习协议书
2015/01/29 职场文书
求职信范文怎么写
2015/03/19 职场文书
因身体原因离职的辞职信范文
2015/05/12 职场文书
600字作文之感受大自然
2019/11/27 职场文书
使用canvas仿Echarts实现金字塔图的实例代码
2021/11/11 HTML / CSS
ubuntu安装jupyter并设置远程访问的实现
2022/03/31 Python
德劲DE1107指针试高灵敏度全波段收音机机评
2022/04/05 无线电
关于JS中的作用域中的问题思考分享
2022/04/06 Javascript