我得到了数组值,但我不知道如何探索laravel中的值。我是laravel的新人,请帮助我。
view()->composer('admin.sidebar', function ($view) {
$usertypeid = \Auth::user()->role;
$moduleRs = DB::table('users')
->join('permissions','users.role', '=', 'permissions.role_id')
->select('users.role as usersrole','permissions.role_id as role_id','permissions.module_name as module_name')
->where('users.role', '=', $usertypeid)
->get();
$view->moduleData = $moduleRs;
$data=$moduleRs;
if ( count($data) > 0 )
{
$result = array();
foreach($data as $row){
if(!isset($result[$row->role_id])) {
$result[$row->role_id] = array(
'role_id' => $row->role_id,
'module_name' => array( $row->module_name),
);
}else{
$result[$row->role_id]['module_name'] = array_merge($result[$row->role_id]['module_name'], array($row->module_name) );
}
}
$result = array_values($result);
$view->moduleData = $result;
}
else
{
$view->moduleData=null;
}
});
}
可以爆炸价值吗?我以正确的方式得到了数组值。
答案 0 :(得分:0)
取代:
$view->moduleData = $moduleRs;
with:
$view->with('moduleData', $moduleRs);
并将其放在视图编辑器的末尾,以便您的功能如下所示:
view()->composer('admin.sidebar', function ($view) {
$moduleRs = DB::table('users')
->join('permissions','users.role', '=', 'permissions.role_id')
->select('users.role as usersrole','permissions.role_id as role_id','permissions.module_name as module_name')
->where('users.role', '=', \Auth::user()->role)
->get();
$moduleData = null;
if ( count($moduleRs) > 0 ) {
$result = [];
foreach($moduleRs as $row){
if(!isset($result[$row->role_id])) {
$result[$row->role_id] = [
'role_id' => $row->role_id,
'module_name' => [$row->module_name],
];
}else{
$result[$row->role_id]['module_name'] = array_merge($result[$row->role_id]['module_name'], [$row->module_name] );
}
}
$result = array_values($result);
$moduleData = $result;
}
$view->with('moduleData', $moduleData);
});