Laravel关联模型
public $timestamps = false;//不存时间
1.多对多关联.如收藏.用户表users,产品表products,收藏中间表user_favorite_products.那么在用户模型下则
public function favoriteProducts()
{
return $this->belongsToMany(Product::class, 'user_favorite_products')
->withTimestamps() //中间表时间
->orderBy('user_favorite_products.created_at', 'desc');
}
收藏关联新增
public function favor(Product $product, Request $request)
{
$user = $request->user();
if ($user->favoriteProducts()->find($product->id)) {
return [];
} $user->favoriteProducts()->attach($product); return [];
}
示例2:关联新增加时,附加新增其它数据
$user = App\User::find(1); $user->roles()->attach($roleId);
//增加一个过期时间字段
$user->roles()->attach($roleId, ['expires' => $expires]);
Laravel关联模型的更多相关文章
- Laravel关联模型中has和with区别
本篇文章给大家带来的内容是关于Laravel关联模型中has和with区别(详细介绍),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 首先看代码: 1 2 3 4 5 6 $user ...
- Laravel关联模型中过滤结果为空的结果集(has和with区别)
首先看代码: $userCoupons = UserCoupons::with(['coupon' => function($query) use($groupId){ return $quer ...
- laravel 强大的关联模型
内容比较多,不总结了,直接看学院君的译文吧,已经写得很详细了 传送门:http://laravelacademy.org/post/6191.html PS1: laravel的关联模型并不是遍历一次 ...
- Laravel5.1 关联模型之后操作
之前写过关于模型关联的笔记,但是模型关联好后的一些使用没有介绍,今天补上 1 写入关联模型 1.1 使用Save方法(一对多) 我们准备了两个模型:Post和Comment. 它们的关系是一对多关系. ...
- ThinkPHP 3.2.3 关联模型的使用
关于关联模型 ThinkPHP 3.2.3 的关联模型(手册地址)一般处理关联数据表的 CURD 操作,例如关联读取.关联写入.关联删除等. 实例 博客管理模块关于博客有 4 张数据表:博客表 crm ...
- thinkphp 关联模型配置代码
<?php /** * 公司与部门关联模型 */ class CompanyRelationModel extends RelationModel{ //主表名称 protected $tabl ...
- ThinkPHP 学习笔记 ( 四 ) 数据库操作之关联模型 ( RelationMondel ) 和高级模型 ( AdvModel )
一.关联模型 ( RelationMondel ) 1.数据查询 ① HAS_ONE 查询 创建两张数据表评论表和文章表: tpk_comment , tpk_article .评论和文章的对应关系为 ...
- ThinkPHP 关联模型中查询某条记录的父级(非查询子级)
数据表 id cat_name cat_pid 76 手机.数码 0 84 手机配件 76 86 蓝牙耳机 84 从属关 ...
- ThinkPHP第十五天(setField、setInc、setDec、关联模型)
1.ThinkPHP中的比较特殊连贯操作 如果要更新某个字段可以用setField方法,比如M('user')->where('id=1')->setField('username','T ...
随机推荐
- jmeter常见问题小结
1,报500,查看信息头中的Content-Type 2,https的端口号是443 3,同一个线程组中,不同请求分别用到的字段都可以直接写在‘HTTP信息头管理器’中 4,Debug Sampler ...
- jquery live()方法 语法
jquery live()方法 语法 作用:live() 方法为被选元素附加一个或多个事件处理程序,并规定当这些事件发生时运行的函数.通过 live() 方法附加的事件处理程序适用于匹配选择器的当前及 ...
- CF990G GCD Counting 点分治+容斥+暴力
只想出来 $O(nlogn\times 160)$ 的复杂度,没想到还能过~ Code: #include <cstdio> #include <vector> #includ ...
- 「CF442C」 Artem and Array
题目链接 戳我 \(Solution\) 观察发现如果一个数两边都比他大,删掉他可以保证最优,这个应该是显然的.这个东西用单调栈维护一下,最后剩下的就是个单调递减或单调递增的数列,从小到大排个序取前面 ...
- 一步一步实现一个Promise A+规范的 Promise
2015年6月,ES2015(即ES6)正式发布后受到了非常多的关注.其中很重要的一点是 Promise 被列为了正式规范. 在此之前很多库都对异步编程/回调地狱实现了类 Promise 的应对方案, ...
- Leetcode题目20.有效的括号(简单)
题目描述: 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合.左括号必须以正确的顺序闭合.注意空字符 ...
- 忘记Linux 3.X/4.x/5.x 宝塔面板密码的解决方案
进入ssh 输入以下命令重置密码(把命令最后面的 “testpasswd” 替换成你要改的新密码)注:若是debian/ubuntu用户,请使用有root权限的账户去执行这条命令 cd /www ...
- PM2工作原理
PM2工作原理 要理解pm2就要理解god和santan的关系,god和santan的关系就相当于盖娅和黑底斯在pm2中的01世界中,每一行代码每一个字节都安静的工作god就是Daemon进程 守护进 ...
- android data binding jetpack III 绑定一个方法
第三篇 给view绑定一下方法响应. (补充:1.被绑定的方法必须是public的. 1.绑定方法可以用主语法.也可以用以下双冒号方式“::” android:onClick="@{pr ...
- CentOS6 Zabbix-Agent2.0安装脚本
#! /bin/bash ##################################### #-----------------------------------# #------zabb ...