laravel model 两表联查示例


Posted in PHP onOctober 24, 2019

1对一

定义一对一关联

一对一关联是很基本的关联。例如一个 User 模型会对应到一个 Phone 。 在 Eloquent 里可以像下面这样定义关联:

class User extends Model {
 
 public function phone()
 {
  return $this->hasOne('App\Phone');
 }
 
}

传到 hasOne 方法里的第一个参数是关联模型的类名称。定义好关联之后,就可以使用 Eloquent 的动态属性取得关联对象:

$phone = User::find(1)->phone;

SQL 会执行如下语句:

select * from users where id = 1
 
select * from phones where user_id = 1

注意, Eloquent 假设对应的关联模型数据库表里,外键名称是基于模型名称。在这个例子里,默认 Phone 模型数据库表会以 user_id 作为外键。如果想要更改这个默认,可以传入第二个参数到 hasOne 方法里。更进一步,您可以传入第三个参数,指定关联的外键要对应到本身的哪个字段:

return $this->hasOne('App\Phone', 'foreign_key');
 
return $this->hasOne('App\Phone', 'foreign_key', 'local_key');

查询多条

$rolePermissions = Permission::join('permission_role', 'permission_role.permission_id', '=', 'permissions.id')
   ->where('permission_role.role_id', $id)
   ->get();

以上这篇laravel model 两表联查示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
由php if 想到的些问题
Mar 22 PHP
PHP curl_setopt()函数实例代码与参数分析
Jun 02 PHP
『PHP』PHP截断函数mb_substr()使用介绍
Apr 22 PHP
使用PHP遍历文件目录与清除目录中文件的实现详解
Jun 24 PHP
php解析json数据实例
Aug 19 PHP
php读取目录及子目录下所有文件名的方法
Oct 20 PHP
thinkphp3.2.2前后台公用类架构问题分析
Nov 25 PHP
优化WordPress的Google字体以加速国内服务器上的运行
Nov 24 PHP
PHP微信开发用Cache 解决数据缓存
Jul 11 PHP
thinkphp3.2中实现phpexcel导出带生成图片示例
Feb 14 PHP
PHP实现ASCII码与字符串相互转换的方法
Apr 29 PHP
PHP文字转图片功能原理与实现方法分析
Aug 31 PHP
Laravel框架之解决前端显示图片问题
Oct 24 #PHP
laravel中的fillable和guarded属性详解
Oct 23 #PHP
laravel5.6中的外键约束示例
Oct 23 #PHP
laravel5.6实现数值转换
Oct 23 #PHP
laravel框架之数据库查出来的对象实现转化为数组
Oct 23 #PHP
Laravel 实现Eloquent模型分组查询并返回每个分组的数量 groupBy()
Oct 23 #PHP
laravel 执行迁移回滚示例
Oct 23 #PHP
You might like
MySql 按时间段查询数据方法(实例说明)
2008/11/02 PHP
解析php做推送服务端实现ios消息推送
2013/07/01 PHP
php将字符串转化成date存入数据库的两种方式
2014/04/28 PHP
php中隐形字符65279(utf-8的BOM头)问题
2014/08/16 PHP
如何使用微信公众平台开发模式实现多客服
2016/01/06 PHP
基于PHP实现短信验证码接口(容联运通讯)
2016/09/06 PHP
PHP下 Mongodb 连接远程数据库的实例代码
2017/08/30 PHP
PHP面向对象程序设计之多态性的应用示例
2018/12/19 PHP
Laravel如何实现适合Api的异常处理响应格式
2020/06/14 PHP
jquery遍历input取得input的name
2009/04/27 Javascript
百度Popup.js弹出框进化版 拖拽小框架发布 兼容IE6/7/8,Firefox,Chrome
2010/04/13 Javascript
六款帮助你实现惊艳视差滚动效果的jQuery插件
2012/09/14 Javascript
JavaScript表达式:URL 协议介绍
2013/03/10 Javascript
IE8下String的Trim()方法失效的解决方法
2013/11/08 Javascript
JS控制日期显示的小例子
2013/11/23 Javascript
js实现异步循环实现代码
2016/02/16 Javascript
jquery实现文本框textarea自适应高度
2016/03/09 Javascript
jQuery使用经验小技巧(推荐)
2016/05/31 Javascript
表单元素值获取方式js及java方式的简单实例
2016/10/15 Javascript
使用ionic(选项卡栏tab) icon(图标) ionic上拉菜单(ActionSheet) 实现通讯录界面切换实例代码
2017/10/20 Javascript
仿vue-cli搭建属于自己的脚手架的方法步骤
2019/04/17 Javascript
jquery操作checkbox的常用方法总结【附测试源码下载】
2019/06/10 jQuery
详解React路由传参方法汇总记录
2020/11/29 Javascript
python安装教程 Pycharm安装详细教程
2017/05/02 Python
Python爬虫_城市公交、地铁站点和线路数据采集实例
2018/01/10 Python
python实现多张图片拼接成大图
2019/01/15 Python
如何更换python默认编辑器的背景色
2020/08/10 Python
python实现AdaBoost算法的示例
2020/10/03 Python
如何快速一次性卸载所有python包(第三方库)呢
2020/10/20 Python
HTML 5.1来了 9月份正式发布 更新内容预览
2016/04/26 HTML / CSS
三只松鼠官方旗舰店:全网坚果销售第1
2017/11/25 全球购物
班组长竞聘书
2014/03/31 职场文书
小学生作文评语集锦
2014/12/25 职场文书
挂职锻炼个人总结
2015/03/05 职场文书
2015年施工员工作总结范文
2015/04/20 职场文书
Python下opencv库的安装过程及问题汇总
2021/06/11 Python