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 相关文章推荐
Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
Apr 18 PHP
PHP中冒号、endif、endwhile、endfor使用介绍
Apr 28 PHP
php之XML转数组函数的详解
Jun 07 PHP
浅析php与数据库代码开发规范
Aug 08 PHP
CentOS 6.3下安装PHP xcache扩展模块笔记
Sep 10 PHP
PHP递归遍历指定目录的文件并统计文件数量的方法
Mar 24 PHP
Laravel 5框架学习之用户认证
Apr 09 PHP
Symfony2框架学习笔记之表单用法详解
Mar 18 PHP
thinkPHP+PHPExcel实现读取文件日期的方法(含时分秒)
Jul 07 PHP
Yii2基于Ajax自动获取表单数据的方法
Aug 10 PHP
PHP对象、模式与实践之高级特性分析
Dec 08 PHP
Laravel中获取路由参数Route Parameters的五种方法示例
Sep 29 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中$_SERVER的详细参数与说明
2008/07/29 PHP
PHP操作Memcache实例介绍
2013/06/14 PHP
php自动识别文字编码并转换为目标编码的方法
2015/08/08 PHP
thinkPHP5.0框架引入Traits功能实例分析
2017/03/18 PHP
在JavaScript中实现命名空间
2006/11/23 Javascript
js动态添加删除,后台取数据(示例代码)
2013/11/25 Javascript
使用RequireJS优化JavaScript引用代码的方法
2015/07/01 Javascript
JS使用eval解析JSON的注意事项分析
2015/11/14 Javascript
node.js从数据库获取数据
2016/05/08 Javascript
JavaScript鼠标事件,点击鼠标右键,弹出div的简单实例
2016/08/03 Javascript
js给table赋值的实例代码
2016/10/13 Javascript
基于Angularjs+mybatis实现二级评论系统(仿简书)
2017/02/13 Javascript
React Native使用fetch实现图片上传的示例代码
2018/03/07 Javascript
微信小程序实现简单跑马灯效果
2020/05/26 Javascript
[01:14:19]NAVI vs Mineski 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
Django REST为文件属性输出完整URL的方法
2017/12/18 Python
Python实现字符串的逆序 C++字符串逆序算法
2020/05/28 Python
利用Python如何实现数据驱动的接口自动化测试
2018/05/11 Python
Python使用numpy模块创建数组操作示例
2018/06/20 Python
基于Python对数据shape的常见操作详解
2018/12/25 Python
Python warning警告出现的原因及忽略方法
2020/01/31 Python
Python内存映射文件读写方式
2020/04/24 Python
python如何运行js语句
2020/09/09 Python
python基于爬虫+django,打造个性化API接口
2021/01/21 Python
通过canvas转换颜色为RGBA格式及性能问题的解决
2019/11/22 HTML / CSS
英国评分最高的女性剃须刀订阅盒:FFS Beauty
2018/01/25 全球购物
正宗的澳大利亚Ugg靴子零售商:UGG Express
2020/04/19 全球购物
化工专业应届生求职信
2013/11/08 职场文书
工程建设实施方案
2014/03/14 职场文书
2014年学校禁毒工作总结
2014/12/23 职场文书
2015年办公室文员工作总结
2015/04/24 职场文书
河童之夏观后感
2015/06/11 职场文书
有关西游记的读书笔记
2015/06/25 职场文书
2016最新离婚协议书范本及程序
2016/03/18 职场文书
解析Java中的static关键字
2021/06/14 Java/Android
MySQL派生表联表查询实战过程
2022/03/20 MySQL