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程序员最常犯的11个MySQL错误小结
Nov 20 PHP
php 获取全局变量的代码
Apr 21 PHP
PHP中PDO基础教程 入门级
Sep 04 PHP
PHP合并两个数组的两种方式的异同
Sep 14 PHP
一个PHP二维数组排序的函数分享
Jan 17 PHP
在Yii框架中使用PHP模板引擎Twig的例子
Jun 13 PHP
Drupal简体中文语言包安装教程
Sep 27 PHP
php实现源代码加密的方法
Jul 11 PHP
Yii2 rbac权限控制之rule教程详解
Jun 23 PHP
laravel5创建service provider和facade的方法详解
Jul 26 PHP
php中strtotime函数性能分析
Nov 20 PHP
laravel添加前台跳转成功页面示例
Oct 22 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中操作MySQL数据库的一些要注意的问题
2006/10/09 PHP
使用字符串函数输出整数化的PHP版本号
2006/10/09 PHP
php文章内容分页并生成相应的htm静态页面代码
2010/06/07 PHP
Could not load type System.ServiceModel.Activation.HttpModule解决办法
2012/12/29 PHP
php上传apk后自动提取apk包信息的使用(示例下载)
2013/04/26 PHP
php使用Cookie控制访问授权的方法
2015/01/21 PHP
php使用socket post数据到其它web服务器的方法
2015/06/02 PHP
linux下为php添加iconv模块的方法
2016/02/28 PHP
PHP编写daemon process 实例详解
2016/11/13 PHP
记录一次排查PHP脚本执行卡住的问题
2016/12/27 PHP
用javascript获得地址栏参数的两种方法
2006/11/08 Javascript
javascript 事件绑定问题
2011/01/01 Javascript
url参数中有+、空格、=、%、&、#等特殊符号的问题解决
2013/05/15 Javascript
jQuery插件 selectToSelect使用方法
2013/10/02 Javascript
IE与FireFox的JavaScript兼容问题解决办法
2013/12/31 Javascript
js控制input框只读实现示例
2014/01/20 Javascript
微信小程序 图片边框解决方法
2017/01/16 Javascript
js遮罩效果制作弹出注册界面效果
2017/01/25 Javascript
Vue.use源码分析
2017/04/22 Javascript
nodejs 搭建简易服务器的图文教程(推荐)
2017/07/18 NodeJs
javascript修改浏览器title方法 JS动态修改浏览器标题
2017/11/30 Javascript
在 React、Vue项目中使用SVG的方法
2018/02/09 Javascript
详解如何使用微信小程序云函数发送短信验证码
2019/03/13 Javascript
详解React项目中碰到的IE问题
2019/03/14 Javascript
Python脚本实现自动将数据库备份到 Dropbox
2017/02/06 Python
解决python线程卡死的问题
2019/02/18 Python
python使用python-pptx删除ppt某页实例
2020/02/14 Python
Python爬取YY评级分数并保存数据实现过程解析
2020/06/01 Python
Nike荷兰官方网站:Nike.com (NL)
2018/04/19 全球购物
90后毕业生的求职信范文
2013/09/21 职场文书
《问银河》教学反思
2014/02/19 职场文书
体育系毕业生自荐信
2014/06/28 职场文书
运动会400米加油稿(8篇)
2014/09/22 职场文书
食堂管理制度范本
2015/08/04 职场文书
关于redisson缓存序列化几枚大坑说明
2021/08/04 Redis
如何在python中实现ECDSA你知道吗
2021/11/23 Python