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 数组的合并、拆分、区别取值函数集
Feb 15 PHP
PHP校验ISBN码的函数代码
Jan 17 PHP
php中json_encode中文编码问题分析
Sep 13 PHP
ThinkPHP3.2.2的插件控制器功能简述
Jul 09 PHP
PHP实现模仿socket请求返回页面的方法
Nov 04 PHP
PHP-FPM运行状态的实时查看及监控详解
Nov 18 PHP
利用laravel+ajax实现文件上传功能方法示例
Aug 13 PHP
ThinkPHP框架实现定时执行任务的两种方法分析
Sep 04 PHP
tp5(thinkPHP5框架)captcha验证码配置及验证操作示例
May 28 PHP
PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能
Sep 23 PHP
基于laravel-admin 后台 列表标签背景的使用方法
Oct 03 PHP
TP5框架实现签到功能的方法分析
Apr 05 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
PHP 检查扩展库或函数是否可用的代码
2010/04/06 PHP
10款实用的PHP开源工具
2015/10/23 PHP
编写PHP脚本清除WordPress头部冗余代码的方法讲解
2016/03/01 PHP
thinkPHP5框架路由常用知识点汇总
2019/09/15 PHP
JS 字符串连接[性能比较]
2009/05/10 Javascript
javascript 放大镜 v1.0 基于Yui2 实现的放大镜效果
2010/03/08 Javascript
jquery多选项卡效果实例代码(附效果图)
2013/03/23 Javascript
zepto中使用swipe.js制作轮播图附swipeUp,swipeDown不起效果问题
2015/08/27 Javascript
angular基于路由控制ui-router实现系统权限控制
2016/09/27 Javascript
如何学JavaScript?前辈的经验之谈
2016/12/28 Javascript
jQuery动态生成表格及右键菜单功能示例
2017/01/13 Javascript
ES6中的Promise代码详解
2017/10/09 Javascript
JavaScript设计模式之调停者模式实例详解
2018/02/03 Javascript
vue.js 实现图片本地预览 裁剪 压缩 上传功能
2018/03/01 Javascript
vue element-ui之怎么封装一个自己的组件的详解
2019/05/20 Javascript
Android 自定义view仿微信相机单击拍照长按录视频按钮
2019/07/19 Javascript
jquery 时间戳转日期过程详解
2019/10/12 jQuery
Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
2008/09/06 Python
python验证码识别的实例详解
2016/09/09 Python
python 拼接文件路径的方法
2018/10/23 Python
Python Django框架url反向解析实现动态生成对应的url链接示例
2019/10/18 Python
基于python的列表list和集合set操作
2019/11/24 Python
Python3常见函数range()用法详解
2019/12/30 Python
Python colormap库的安装和使用详情
2020/10/06 Python
Furla官网:意大利著名的皮革品牌
2019/08/06 全球购物
Cecil Mode法国在线商店:女性时尚
2021/01/08 全球购物
军校制空专业毕业生自我鉴定
2013/11/16 职场文书
红领巾心向党广播稿
2014/01/19 职场文书
护理职业生涯规划书
2014/01/24 职场文书
反对形式主义、官僚主义、享乐主义和奢靡之风整改措施
2014/09/17 职场文书
2016暑期师德培训心得体会
2016/01/09 职场文书
写作技巧:怎样写好一份优秀工作总结?
2019/08/14 职场文书
MySQL 常见存储引擎的优劣
2021/06/02 MySQL
python异常中else的实例用法
2021/06/15 Python
详解Redis在SpringBoot工程中的综合应用
2021/10/16 Redis
python 多态 协议 鸭子类型详解
2021/11/27 Python