基于laravel实现model多表联查的代码是什么
Admin 2022-06-13 群英技术资讯 365 次浏览
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();
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要给大家介绍了关于Yii2框架跑脚本时内存泄漏问题的分析与解决方法,文中通过示例代码介绍的非常详细,对大家学习或者使用Yii2具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
php调用类的方法在本片文章中给大家详细分享了PHP程序中去调用另外一个文件类的方法和代码写法,一起学习下。首先在一个tool.php文件中声明一个类:<?
一、简介自PHP5起完全重写了对象模型以得到更佳性能和更多特性。这是自PHP4以来的最大变化。PHP5具有完整的对象模型。PHP5中的新特性包括访问控制,抽象类和 ...
php如何处理http请求超时?http请求超时不少朋友都有遇到过,那么我们应该如何解决呢?这篇文章就给大家介绍一下http请求超时可能出现的场景以及http请求超时解决方案。
thinkphp3有门面类。门面为容器中的类提供了一个静态调用接口,拥有更好的可测试性和扩展性,可以为任何的非静态类库定义一个门面类,语法为“class Test{public function Class(){return路径;}}”。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008