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中的加密功能
Oct 09 PHP
Search Engine Friendly的URL设计
Oct 09 PHP
elgg 获取文件图标地址的方法
Mar 20 PHP
如何取得中文字符串中出现次数最多的子串
Aug 08 PHP
php实现无限级分类
Dec 24 PHP
php简单统计字符串单词数量的方法
Jun 19 PHP
php文件操作之小型留言本实例
Jun 20 PHP
php冒泡排序与快速排序实例详解
Dec 07 PHP
Zend Framework教程之Zend_Db_Table用法详解
Mar 21 PHP
PHP+Apache环境中如何隐藏Apache版本
Nov 24 PHP
laravel获取不到session的三种解决办法【推荐】
Sep 16 PHP
Laravel 连接(Join)示例
Oct 16 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
?生?D片??C字串
2006/12/06 PHP
使用Xdebug调试和优化PHP程序之[1]
2007/04/17 PHP
php下用cookie统计用户访问网页次数的代码
2010/05/09 PHP
destoon安装出现Internal Server Error的解决方法
2014/06/21 PHP
php结合ACCESS的跨库查询功能
2015/06/12 PHP
PHP使用flock实现文件加锁的方法
2015/07/01 PHP
thinkphp3.2实现跨控制器调用其他模块的方法
2017/03/14 PHP
PHP5中使用mysqli的prepare操作数据库的介绍
2019/03/18 PHP
PHP7 其他修改
2021/03/09 PHP
复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
2014/10/16 Javascript
使用Browserify配合jQuery进行编程的超级指南
2015/07/28 Javascript
bootstrap 下拉多选框进行多选传值问题代码分析
2017/02/14 Javascript
微信小程序 点击控件后选中其它反选实例详解
2017/02/21 Javascript
EasyUI为Numberbox添加blur事件的方法
2017/03/05 Javascript
angularJs中$http获取后台数据的实例讲解
2018/08/08 Javascript
Vue循环组件加validate多表单验证的实例
2018/09/18 Javascript
加快Vue项目的开发速度的方法
2018/12/12 Javascript
js中!和!!的区别与用法
2020/05/09 Javascript
基于vue和bootstrap实现简单留言板功能
2020/05/30 Javascript
微信小程序连续签到7天积分获得功能的示例代码
2020/08/20 Javascript
vue中watch的用法汇总
2020/12/28 Vue.js
python实现simhash算法实例
2014/04/25 Python
从零学python系列之数据处理编程实例(一)
2014/05/22 Python
Python中输出ASCII大文字、艺术字、字符字小技巧
2015/04/28 Python
Python将阿拉伯数字转换为罗马数字的方法
2015/07/10 Python
Python中easy_install 和 pip 的安装及使用
2017/06/05 Python
Python 实现取矩阵的部分列,保存为一个新的矩阵方法
2018/11/14 Python
Python3 Post登录并且保存cookie登录其他页面的方法
2018/12/28 Python
Python 一句话生成字母表的方法
2019/01/02 Python
python 多个参数不为空校验方法
2019/02/14 Python
python使用pip安装SciPy、SymPy、matplotlib教程
2019/11/20 Python
用Python实现职工信息管理系统
2020/12/30 Python
python爬虫爬取图片的简单代码
2021/01/18 Python
美国时尚配饰品牌:Dooney & Bourke
2017/11/14 全球购物
CSS实现fullpage.js全屏滚动效果的示例代码
2021/03/24 HTML / CSS
夫妻分居协议书范本(有子女版)
2014/11/01 职场文书