Laravel 关联模型-关联新增和关联更新的方法
网上找了 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 关联模型-关联新增和关联更新的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Laravel关系模型指定条件查询方法
对于关系模型来说,有时候我们需要甄别关联后结果,例如,班级和学生是一对多关联,我现在查询班级,但是想只显示正常状态,即状态为1的学生,因为有的学生从这个班级里面删除了,状态是4,那么我们在查询的时候就可以使用如下语法: 1.定义关联关系: Class模型: public function learners() { return $this->belongsToMany('App\Models\Customer', 'learner_relation', 'class_id', 'learner_
-
laravel withCount 统计关联数量的方法
统计关联数量,单个用法 $posts = Post::withCount('comments')->orderBy('id','desc')->paginate(6); 多个用法 $posts = Post::withCount(['comments','zans'])->orderBy('id','desc')->paginate(6); 调用 $post->comments_count 一定要是5.3版本之后,5.2和5.1都会报方法未定义 以上这篇laravel wit
-
Laravle eloquent 多对多模型关联实例详解
什么是多对多关联? Eloquent中一个模型就是一个数据表,数据表之间通常会有关联,多对多关联就是2个表之间相互有很多关联,比如说:一个表存放了用户数据, 另一个表存放了文章的信息, 一个用户可以收藏多篇文章,一篇文章也可以被多个用户收藏,这就是 多对多关联 . 怎么用多对多关联? 使用Eloquent的多对多关联可以很便捷的互相查询.修改.增加.删除两个模型之间的关联. 多对多关联除了相互关联的两张表之外还需要一张记录关联的表(pivot表),一般记录两个模型的的ID就行 举个栗子 我们数据
-
Laravel 关联模型-关联新增和关联更新的方法
网上找了 Laravel 相关的关联新增和关联更新文档,写的都不是很满意.(基本都在抄文档)下面整理下自己代码中的关联操作方法 按照 Laravel 文档中的说明设置关联模型 参考地址 //病人模型 class Patient extends Model { /** * 病人附表 * @return \Illuminate\Database\Eloquent\Relations\HasOne */ public function patientdata () { return $this->ha
-
laravel学习教程之关联模型
Eloquent: 关联模型 简介 数据库中的表经常性的关联其它的表.比如,一个博客文章可以有很多的评论,或者一个订单会关联一个用户.Eloquent 使管理和协作这些关系变的非常的容易,并且支持多种不同类型的关联: 一对一 一对多 多对多 远程一对多 多态关联 多态多对多关联 定义关联 Eloquent 关联可以像定义方法一样在 Eloquent 模型类中进行定义.同时,它就像 Eloquent 模型自身一样也提供了强大的查询生成器.这允许关联模
-
Laravel关联模型中过滤结果为空的结果集(has和with区别)
首先看代码: $userCoupons = UserCoupons::with(['coupon' => function($query) use($groupId){ return $query->select('id', 'group_id', 'cover', 'group_number', 'group_cover')->where([ 'group_id' => $groupId, ]); }]) // 更多查询省略... 数据结构是三张表用户优惠券表(user_coup
-
图文详解laravel多对多关联模型
关联模型(多对多) 多对多关系(抽象) 例:一篇文章可能有多个关键词,一个关键词可能被多个文章使用. 关键词表: 字段id 主键 字段keyword 关键词 文章与关键词的关系表: 字段id 主键 -- -- 字段article_id 文章id 字段key_id 关键词id 创建迁移文件: php artisan make:migration create_keyword_table php artisan make:migration create_relation_table 编写迁移文件的
-
Laravel5.1 框架关联模型之后操作实例分析
本文实例讲述了Laravel5.1 框架关联模型之后操作.分享给大家供大家参考,具体如下: 之前写过关于模型关联的笔记,但是模型关联好后的一些使用没有介绍,今天补上 1 写入关联模型 1.1 使用Save方法(一对多) 我们准备了两个模型:Post和Comment. 它们的关系是一对多关系.现在我们要创建新的Comment到Post: public function getIndex() { // 创建一个comment模型 $comment = new Comment(['title'=> '
-
ThinkPHP关联模型操作实例分析
通常我们所说的关联关系包括下面三种: ◇ 一对一关联 : ONE_TO_ONE , 包括 HAS_ONE 和 BELONGS_TO ◇ 一对多关联 : ONE_TO_MANY , 包括 HAS_MANY 和 BELONGS_TO ◇ 多对多关联 : MANY_TO_MANY 关联定义 数据表的关联 CURD 操作,目前支持的关联关系包括下面四种:HAS_ONE . BELONGS_TO . HAS_MANY . MANY_TO_MANY . 一个模型根据业务模型的复杂程度可以同时定义多个关联,不
-
ThinkPHP中的关联模型注意点
初学ThinkPHP时,ThinkPHP中的关联模型有一处易错点,现举例如下:需用到的表:id_elite_major和id_elite_student代码举例如下: 复制代码 代码如下: class EliteMajorModel extends RelationModel{protected $_link=array('EliteStudent'=>array('mapping_type'=>HAS_MANY, //易错点: 此处在 HAS_MANY 时常会加上 '' 容易写成 'HAS
-
ThinkPHP5&5.1框架关联模型分页操作示例
本文实例讲述了ThinkPHP5&5.1框架关联模型分页操作.分享给大家供大家参考,具体如下: 利用数据库的分页通常比较简单,但在实际项目中,我们往往需要处理复杂的数据,例如多表操作,这时候我们就需要利用模型层的关联操作得到最终想要的数据,而这些数据我们其实也是可以利用ThinkPHP5&5.1内置的分页引擎进行分页的. 卖的车辆我们称之为车源,车源和车主之间是多对一关系(车主可以有多辆车,一辆车只属于一个车主):车源和车辆图片之间是一对多关系(一辆车有多个图片,一个图片只属于一辆车):车
-
Java的Hibernate框架中的双向主键关联与双向外键关联
一.双向主键关联 双向的主键关联其实是单向一对一主键关联的一种特殊情况,只不过要在关联对象的两端的映射文件中都要进行<one-to-one>的配置,另外还要在主映射的主键一端采用foreign外键关联属性. 这里同样使用Person和IdCard来讨论,一个人对应着一个唯一的身份证,而且一个身份证也唯一映射着一个人,所以这就产生了双向的关联关系,Person的主键同样也是IdCard的主键,分别是主键的同时也是外键,这种关联关系成为双向一对一映射,表现到关系模型中可如下图: 图中的两个表采用了
-
Laravel模型间关系设置分表的方法示例
Eloquent是什么 Eloquent 是一个 ORM,全称为 Object Relational Mapping,翻译为 "对象关系映射"(如果只把它当成 Database Abstraction Layer 数组库抽象层那就太小看它了).所谓 "对象",就是本文所说的 "模型(Model)":对象关系映射,即为模型间关系.中文文档: http://laravel-china.org/docs/eloquent#relationships 引
随机推荐
- Python实现网站文件的全备份和差异备份
- PHP网页 Ewebeditor 编辑器嵌入方法
- SQL Server 在Management Studio中使用Web浏览器
- drop,truncate与delete的区别
- jquery下onpropertychange事件的绑定方法
- Javascript数组循环遍历之forEach详解
- 实用PHP会员权限控制实现原理分析
- 推荐Discuz!5的PHP代码高亮显示与实现可运行代码
- PHP批量删除jQuery操作
- Android客户端实现图片轮播控件
- 了解了这些才能开始发挥jQuery的威力
- 读jQuery之十四 (触发事件核心方法)
- Ruby中Hash的11个问题解答
- Oracle密码错误次数过多账号锁定的问题(推荐)
- JQuery的一些小应用收集
- Bootstrap的图片轮播示例代码
- 用按钮触发Javascript动态生成一个表格的代码
- Nginx服务器限制IP访问的各种情况全解析
- Android中使用AsyncTask实现下载文件动态更新进度条功能
- Android中EditText和AutoCompleteTextView设置文字选中颜色方法