laravel model 两表联查示例
1对一
定义一对一关联
一对一关联是很基本的关联。例如一个User模型会对应到一个Phone。在Eloquent里可以像下面这样定义关联:
classUserextendsModel{ publicfunctionphone() { return$this->hasOne('App\Phone'); } }
传到hasOne方法里的第一个参数是关联模型的类名称。定义好关联之后,就可以使用Eloquent的动态属性取得关联对象:
$phone=User::find(1)->phone;
SQL会执行如下语句:
select*fromuserswhereid=1 select*fromphoneswhereuser_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();
以上这篇laravelmodel两表联查示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。