如何爆炸数组值

时间:2017-08-07 10:30:39

标签: php laravel-5.4

我得到了数组值,但我不知道如何探索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;
        }
         });
 }

可以爆炸价值吗?我以正确的方式得到了数组值。

1 个答案:

答案 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);
});