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 相关文章推荐
操作Oracle的php类
Oct 09 PHP
php设计模式 Interpreter(解释器模式)
Jun 26 PHP
Php无限级栏目分类读取的实现代码
Feb 19 PHP
php+MySQL判断update语句是否执行成功的方法
Aug 28 PHP
php常用hash加密函数
Nov 22 PHP
php中注册器模式类用法实例分析
Nov 03 PHP
twig模板获取全局变量的方法
Feb 05 PHP
[原创]解决wincache不支持64位PHP5.5/5.6的问题(提供64位wincache下载)
Jun 22 PHP
phpStudy中升级MySQL版本到5.7.17的方法步骤
Aug 03 PHP
centos7上编译安装php7以php-fpm方式连接apache
Nov 08 PHP
PHP实现爬虫爬取图片代码实例
Mar 03 PHP
Yii 实现数据加密和解密
Mar 09 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
MySql中正则表达式的使用方法描述
2008/07/30 PHP
php小技巧之过滤ascii控制字符
2014/05/14 PHP
php轻松实现中英文混排字符串截取
2014/05/28 PHP
PHP Echo字符串的连接格式
2016/03/07 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
修改jQuery Validation里默认的验证方法
2012/02/14 Javascript
Javascript的setTimeout()使用闭包特性时需要注意的问题
2014/09/23 Javascript
JavaScript中的console.group()函数详细介绍
2014/12/29 Javascript
JS匿名函数类生成方式实例分析
2016/11/26 Javascript
JavaScript构建自己的对象示例
2016/11/29 Javascript
基于MVC方式实现三级联动(JavaScript)
2017/01/23 Javascript
json数据处理及数据绑定
2017/01/25 Javascript
Angular之toDoList的实现代码示例
2017/12/02 Javascript
JS获取浏览器地址栏的多个参数值的任意值实例代码
2018/07/24 Javascript
使用Vue 自定义文件选择器组件的实例代码
2020/03/04 Javascript
Vue实现Layui的集成方法步骤
2020/04/10 Javascript
用vue 实现手机触屏滑动功能
2020/05/28 Javascript
详解vue-router的导航钩子(导航守卫)
2020/11/02 Javascript
[58:37]Serenity vs Fnatic 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
2018/03/19 Python
Python反爬虫技术之防止IP地址被封杀的讲解
2019/01/09 Python
如何安装并使用conda指令管理python环境
2019/07/10 Python
Python中的引用和拷贝实例解析
2019/11/14 Python
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
2020/01/04 Python
Python之关于类变量的两种赋值区别详解
2020/03/12 Python
python实现贪吃蛇游戏源码
2020/03/21 Python
Python自动登录QQ的实现示例
2020/08/28 Python
纪伊国屋新加坡网上书店:Kinokuniya新加坡
2017/12/29 全球购物
N.Peal官网:来自伦敦的高档羊绒品牌
2018/10/29 全球购物
在线实验室测试:HealthLabs.com
2020/05/03 全球购物
数据库设计的包括哪两种,请分别进行说明
2016/07/15 面试题
幼儿园教师获奖感言
2014/03/11 职场文书
植树节口号
2014/06/21 职场文书
2014年法院个人工作总结
2014/12/17 职场文书
公务员年度考核评语
2014/12/31 职场文书
python 中[0]*2与0*2的区别说明
2021/05/10 Python