Php Laravel从模型中获取所有相关数据
我有两个多对多关系,并试图获取所有相关数据。 用户模型:Php Laravel从模型中获取所有相关数据,php,laravel,Php,Laravel,我有两个多对多关系,并试图获取所有相关数据。 用户模型: public function roles() { return $this->belongsToMany('App\Role', 'user_role_pivot', 'user_id', 'role_id'); } 榜样: public function rolepermissions() { return $this->belongsToMany('App\RolePermission', 'role_perm
public function roles()
{
return $this->belongsToMany('App\Role', 'user_role_pivot', 'user_id', 'role_id');
}
榜样:
public function rolepermissions()
{
return $this->belongsToMany('App\RolePermission', 'role_permissions_connect', 'role_id', 'role_perm_id');
}
我正在制定策略,希望从我的角色权限
中获取所有值
我的政策:
public function createrole(User $user)
{
foreach ($user->roles as $role) {
foreach ($role->rolepermissions as $permission) {
return $permission->permission_name;
}
}
}
它只返回一个结果,但我想从角色权限中获取所有相关数据。一旦函数点击
return
,它就会停止执行并返回结果。它不同于C语言中的收益率返回
,在C语言中,您可以实际返回多个值
无论如何,您可能希望将所有内容添加到数组中,然后使用数组执行操作,如下所示:
public function createrole(User $user) {
$array = [];
foreach ($user->roles as $role) {
foreach ($role->rolepermissions as $permission) {
array_push($array, $permission);
}
}
dd($array); //add this line if you want to see your array's items
foreach($item in $array){
//do something
}
}
既然我们正在以各种方式进行最佳实践,您也可以这样做:
foreach ($user->roles as $role) {
foreach ($role->rolepermissions as $key => $permission) {
$array[$key] = $permission;
}
}
这在性能方面可能更有效。一旦函数点击返回,它就会停止执行并返回结果。它不同于C语言中的
收益率返回
,在C语言中,您可以实际返回多个值
无论如何,您可能希望将所有内容添加到数组中,然后使用数组执行操作,如下所示:
public function createrole(User $user) {
$array = [];
foreach ($user->roles as $role) {
foreach ($role->rolepermissions as $permission) {
array_push($array, $permission);
}
}
dd($array); //add this line if you want to see your array's items
foreach($item in $array){
//do something
}
}
既然我们正在以各种方式进行最佳实践,您也可以这样做:
foreach ($user->roles as $role) {
foreach ($role->rolepermissions as $key => $permission) {
$array[$key] = $permission;
}
}
这在性能方面可能更有效。您正在返回
$permission->permission\u name
因此,返回
强制函数停止执行。最好返回一个数组
$roles = [];
foreach ($user->roles as $role) {
foreach ($role->rolepermissions as $permission) {
$roles[] = $permission->permission_name;
}
}
}
return $roles;
您正在返回
$permission->permission\u name
因此,返回
强制函数停止执行。最好返回一个数组
$roles = [];
foreach ($user->roles as $role) {
foreach ($role->rolepermissions as $permission) {
$roles[] = $permission->permission_name;
}
}
}
return $roles;
在我打字的时候也打我:-)@rchatburn哈哈,你在这里要快一点;-)在我打字的时候也打我:-)@rchatburn哈哈,你在这里要快一点;-)