2017-08-07 2 views
0

配列値を取得しましたが、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; 
     } 
     }); 
} 

爆発する可能性がありますか?私は正しい方法で配列の値を得ました。

$view->moduleData = $moduleRs; 

で:

+1

はあなたが単語を追加することができますあなたの質問に?私はあなたの問題を理解していません。 – ksjohn

+0

これは、特定のユーザーの役割とアクセス許可です。配列の値は正しく表示されていますが、配列の値をどのように爆発させることができますか? –

+0

あなたは爆発で何を意味しますか?配列の値の構造体は何ですか? – Maraboc

答えて

0

は置き換え

$view->with('moduleData', $moduleRs); 

とあなたの関数は次のようになりますように、あなたのView Composerの最後にそれを置く:

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); 
}); 
+0

コードは完璧に動作しますが、モジュール名のid.iにはid ... idではありません。.........配列:1 [▼ 0 =>配列:2 [▼ "role_id" => 0 " " module_name "=>配列:1 [▼ 0 =>" 0,4,5 " ] ] ] –

関連する問題