基于laravel实现model多表联查的代码是什么
Admin 2022-06-13 群英技术资讯 616 次浏览
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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在thinkphp中,count方法是一个统计查询方法,用于统计数据表或者数据记录数,返回的结果就是统计的字符数,语法为“$model -> [where() -> ] count();”。
php数组排序并输出:1、uasort使用一个用户自定义的比较函数来排序数组中的值,并保持索引关联。2、uksort()使用一个用户自定义的比较函数来排序数组中的键名称。3、usort()使用用户自定义比较函数来对数组中的值排序。
本篇文章讲述的是PHP中self与this的5个区别内容,小编提供了此相关知识点给大家阅读查看。本篇文章具有一定的参考价值,希望能让你从中收获满满。
php信号量和共享内存的介绍:1、信号量:是系统提供的一种原子操作,一个信号数量,同时只有一个进程能操作。2、共享内存:是系统在存储器中打开的一个公共存储器区域,任何一个过程都可以访问。
cmd运行workerman中文乱码可以通过修改cmd窗口编码格式为utf-8来解决。可以在运行前使用命令“chcp 65001”临时修改,也可以在注册表中永久修改。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008