laravel怎么取出多对多关联表的一个字段,组成一个数组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了laravel怎么取出多对多关联表的一个字段,组成一个数组相关的知识,希望对你有一定的参考价值。
参考技术A $roles=Auth::user()->roles->map(function($role)return $role->id;
)
或者直接获取中间表的role_id:
foreach (Auth::user()->roles as $role)
echo $role->pivot->role_id;
本回答被提问者采纳
Laravel 多对多使用WhereHas搜索,中间表和要搜索表的字段重合时
whereHas中的内容是对要查询模型字段的搜索
Course::whereHas(‘help‘,function($query){ $query->where(‘id‘,1); })->first();
打印sql
select * from `pte_course` where exists (select * from `pte_help` inner join `pte_course_help` on `pte_help`.`id` = `pte_course_help`.`help_id` where `pte_course`.`id` = `pte_course_help`.`course_id` and `id` = 1)
可以看出是对help表的id进行搜索
当中间表的字段和要搜索的表重合时,会报字段冲突错误(中间表使用id作为主键或者其他冲突字段)使用 .区分
Course::whereHas(‘help‘,function($query){ $query->where(‘help.id‘,1); })->first();
以上是关于laravel怎么取出多对多关联表的一个字段,组成一个数组的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 多对多使用WhereHas搜索,中间表和要搜索表的字段重合时
Laravel 多对多使用WhereHas搜索,中间表和要搜索表的字段重合时