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的FTP学习(一)[转自奥索]
Oct 09 PHP
PHP 向右侧拉菜单实现代码,测试使用中
Nov 03 PHP
解析php如何将日志写进syslog
Jun 28 PHP
PHP反射类ReflectionClass和ReflectionObject的使用方法
Nov 13 PHP
PHP版本升级到7.x后wordpress的一些修改及wordpress技巧
Dec 25 PHP
PHP程序员的技术成长规划
Mar 25 PHP
PHP创建/删除/复制文件夹、文件
May 03 PHP
PHP创建多级目录的两种方法
Oct 28 PHP
php+ajax简单实现全选删除的方法
Dec 06 PHP
thinkPHP通用控制器实现方法示例
Nov 23 PHP
Laravel框架执行原生SQL语句及使用paginate分页的方法
Aug 17 PHP
Laravel5.1 框架路由基础详解
Jan 04 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通用查询程序
2007/03/11 PHP
PHP 一个随机字符串生成代码
2010/05/26 PHP
php将数组转换成csv格式文件输出的方法
2015/03/14 PHP
用js实现上传图片前的预览(TX的面试题)
2007/08/14 Javascript
javascript removeChild 使用注意事项
2009/04/11 Javascript
Jquery乱码的一次解决过程 图解教程
2010/02/20 Javascript
js本身的局限性 别让javascript做太多事
2010/03/23 Javascript
淘宝搜索框效果实现分析
2011/03/05 Javascript
JavaScript利用正则表达式去除日期中的“-”
2014/07/01 Javascript
node.js中的events.emitter.once方法使用说明
2014/12/10 Javascript
JavaScript学习笔记之数组去重
2016/03/23 Javascript
Web前端开发之水印、图片验证码
2016/11/27 Javascript
jquery实现(textarea)placeholder自动换行
2016/12/22 Javascript
js实现鼠标拖拽多选功能示例
2017/08/01 Javascript
Nodejs中使用phantom将html转为pdf或图片格式的方法
2017/09/18 NodeJs
node.js中axios使用心得总结
2017/11/29 Javascript
浅谈Layui的eleTree树式选择器使用方法
2019/09/25 Javascript
浅谈element中InfiniteScroll按需引入的一点注意事项
2020/06/05 Javascript
浅谈Vue使用Cascader级联选择器数据回显中的坑
2020/10/31 Javascript
django ajax json的实例代码
2018/05/29 Python
tensorflow实现逻辑回归模型
2018/09/08 Python
详解django的serializer序列化model几种方法
2018/10/16 Python
python调用java的jar包方法
2018/12/15 Python
Python3实现的判断环形链表算法示例
2019/03/07 Python
使用python动态生成波形曲线的实现
2019/12/04 Python
TensorFlow2.1.0最新版本安装详细教程
2020/04/08 Python
零基础学Python之前需要学c语言吗
2020/07/21 Python
Python制作数据预测集成工具(值得收藏)
2020/08/21 Python
PyCharm 2020.2下配置Anaconda环境的方法步骤
2020/09/23 Python
Ray-Ban雷朋西班牙官网:全球领先的太阳眼镜品牌
2018/11/28 全球购物
函数只定义了一次, 调用了一次, 但编译器提示非法重定义了-什么问题?
2014/10/03 面试题
总账会计岗位职责
2014/03/13 职场文书
《中国梦我的梦》大学生演讲稿
2014/08/20 职场文书
监察建议书
2015/02/04 职场文书
机关单位2016年法制宣传日活动总结
2016/04/01 职场文书
如何做好员工培训计划?
2019/07/09 职场文书