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查询域名状态whois的类
Nov 25 PHP
php park、unpark、ord 函数使用方法(二进制流接口应用实例)
Oct 19 PHP
PHP中simplexml_load_string函数使用说明
Jan 01 PHP
php中模拟POST传递数据的两种方法分享
Sep 16 PHP
PHP实现返回JSON和XML的类分享
Jan 28 PHP
PHP浮点数精度问题汇总
May 13 PHP
PHP查看当前变量类型的方法
Jul 31 PHP
PHP数据库编程之MySQL优化策略概述
Aug 16 PHP
如何通过View::first使用Laravel Blade的动态模板详解
Sep 21 PHP
PHP校验15位和18位身份证号的类封装
Nov 07 PHP
PHP实现小程序批量通知推送
Nov 27 PHP
PHP addAttribute()函数讲解
Feb 03 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
discuz程序的PHP加密函数原理分析
2011/08/05 PHP
php mysqli查询语句返回值类型实例分析
2016/06/29 PHP
如何使用PHP给图片加水印
2016/10/12 PHP
yii2 在控制器中验证请求参数的使用方法
2019/06/19 PHP
详解Laravel服务容器的绑定与解析
2019/11/05 PHP
js每次Title显示不同的名言
2008/09/25 Javascript
jQuery 对象中的类数组操作
2009/04/27 Javascript
JavaScript高级程序设计(第3版)学习笔记6 初识js对象
2012/10/11 Javascript
使用js画图之正弦曲线
2015/01/12 Javascript
javascript中关于&& 和 || 表达式的小技巧分享
2015/04/10 Javascript
Javascript函数的参数
2015/07/16 Javascript
JS插件plupload.js实现多图上传并显示进度条
2016/11/29 Javascript
jQuery居中元素scrollleft计算方法示例
2017/01/16 Javascript
jquery select插件异步实时搜索实例代码
2017/10/20 jQuery
详解基于vue-cli配置移动端自适应
2018/01/13 Javascript
在LayUI图片上传中,解决由跨域问题引起的请求接口错误的方法
2019/09/24 Javascript
写给新手同学的vuex快速上手指北小结
2020/04/14 Javascript
vue.js实现简单购物车功能
2020/05/30 Javascript
vue-video-player实现实时视频播放方式(监控设备-rtmp流)
2020/08/10 Javascript
js+html+css实现手动轮播和自动轮播
2020/12/30 Javascript
jquery自定义组件实例详解
2020/12/31 jQuery
Python中使用第三方库xlutils来追加写入Excel文件示例
2015/04/05 Python
Python 基础之字符串string详解及实例
2017/04/01 Python
Python利用递归和walk()遍历目录文件的方法示例
2017/07/14 Python
python Crypto模块的安装与使用方法
2017/12/21 Python
在pycharm中创建django项目的示例代码
2020/05/28 Python
keras CNN卷积核可视化,热度图教程
2020/06/22 Python
python爬虫中抓取指数的实例讲解
2020/12/01 Python
python解包概念及实例
2021/02/17 Python
利用HTML5+CSS3实现3D转换效果实例详解
2017/05/02 HTML / CSS
Canvas实现保存图片到本地的示例代码
2018/06/28 HTML / CSS
27个经典Linux面试题及答案,你知道几个?
2014/03/11 面试题
中国梦口号
2014/06/13 职场文书
手术室护士个人总结
2015/02/13 职场文书
2015年人力资源部工作总结
2015/04/30 职场文书
pytorch交叉熵损失函数的weight参数的使用
2021/05/24 Python