I got the array values but I don't know how to explore the values in laravel. I am a new for laravel please help me.
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;
}
});
}
Can explode value? I got the array values as correct manner.
replace:
$view->moduleData = $moduleRs;
with:
$view->with('moduleData', $moduleRs);
and put it at the end of your view composer so that your function will look like :
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);
});
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.