2017-08-19 1 views
0

J'ai des permissions pour ce rôle et d'autres autorisations que ce rôle n'a pas je veux afficher les deux permission dans ce rôle et d'autres dans la même page séparé heres index dans mon contrôleurlaravel Objet de la classe stdClass n'a pas pu être converti en chaîne

public function index(Request $request , $id,$permission_id) 
{ 
    $rolepermission =DB::table('permission_role') 
     ->join('permissions', 'permissions.id', '=', 'permission_role.permission_id') 
     ->where('permission_role.role_id' , $id) 
     ->get(); 

    $rolepermissiongetid =DB::table('permission_role')->select('role_id') 
     ->where('permission_role.role_id' , $id) 
     ->get(); 

    $notrolepermision =DB::table('permission_role') 
     ->join('permissions', 'permissions.id', '=', 'permission_role.permission_id') 
     ->whereNotIn('permission_role.role_id' ,$rolepermissiongetid) 
     ->get(); 



    $nodata = ''; 
    if($rolepermission==null){ 
     $nodata="This Roles Does Not Have Permissions"; 
    } 

    $role=DB::table('roles')->where('id' ,$id)->first(); 

    return view('managements.role-permission-list') 
     ->with('role' ,$role) 
     ->with('data' , $rolepermission) 
     ->with('role2', $notrolepermision) 
     ->with('nodata' , $nodata) 
     ->with('role_id' ,$id); 
} 

mais je continue à obtenir l'objet de la classe stdClass ne pouvait pas être convertie en chaîne,

je l'ai fait foreach pour obtenir les données à mon avis

<div class="row"> 
    <div class="col-lg-12"> 
     <div class="panel panel-default"> 
      @foreach($role2 as $role2s) 
       <button class="btn btn-primary">{{$role2s->name}}</button> 

      @endforeach 

      <!-- /.panel-heading --> 
      <div class="panel-body"> 
     @if(isset($success_alert)) 
      <div class="alert alert-success">{{$success_alert}}</div> 
     @endif 
     @if(isset($danger_alert)) 
      <div class="alert alert-danger">{{$danger_alert}}</div> 
     @endif 


      @foreach($data as $dat) 


       <div class="col-lg-3"> 
        <button class="btn btn-default">{{$dat->name}}</button> 
        <hr> 
       </div> 


       <!--  <td> 
         <a href='/role-permission-confirm-delete/{{$dat->role_id}}/{{$dat->permission_id}}' class='btn btn-danger'><i class='fa fa-close'></i> Delete</a> 

         <!-- <a href='/role-permission/{{$dat->role_id}}/{{$dat->permission_id}}' class='btn btn-warning confirm'> View </a> 
        </td>--> 

      @endforeach 


     <!-- /.table-responsive --> 

    </div> 
     </div> 
    <!-- <a href="/role-permission/create/{{$role->id}}" class="btn btn-primary"> 
     <i class="fa fa-plus"></i> New Permission 
    </a> --> 
</div> 
</div> 

cette im obtenir avec l'erreur

objet de la classe stdClass ne pouvait être convertie en chaîne en ligne RolePermissionsController.php 32 à HandleExceptions-> handleError (« 8 », « Essayer d'obtenir la propriété de non-objet ',' C: \ xampp \ htdocs \ terkwazmng \ app \ Http \ Contrôleurs \ RolePermissionsController.php ',' 32 ', array (' role_id '=>' 1 ',' rolepermission '=> array (objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet(stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass)), 'rolepermissiongetid' => tableau (objet (stdClass), objet (stdClass), objet (stdClass) , objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass) , objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass) , objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), obj ect (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass), objet (stdClass)))) dans RolePermissionsController. php ligne 32

Répondre

1

Le problème serait avec ce morceau de code, $ role2s est un objet. Puisque vous essayez d'imprimer l'objet, il jette l'erreur

<button class="btn btn-primary">{{$role2s}}</button> 

Essayer var_dump en cours d'exécution sur la variable particulière.

+0

je reçois l'objet de la classe stdClass ne pouvait être convertie en erreur de chaîne dans la page de vue, et je l'ai changé {{$ role2s}} pour {{$ name role2s->}} continué à obtenir la même erreur –

+0

S'il vous plaît partager le contenu de la page de vue entière ainsi que le message d'erreur que vous obtenez –

0

Les accolades sont égales à la déclaration d'écho de PHP. Dans la variable $ role2s vous obtenez object/array donc il ne s'imprimera pas mais vous donnera une erreur. Donc, vous pouvez utiliser la solution ci-dessous. et après cela -> ou [''] obtenir son objet ou tableau.

Essayez

{{dd (role2s $)}}

ou

{{print_r ({{de role2s $}})}}

ou

{{{{var_dump (role2s $}})}}

**

+0

je sais que j'ai utilisé que le problème n'est pas de la vue mais le contrôleur –

0

Vous ne devez pas indiquer votre erreur exacte. Mais peut être l'erreur est dans le contrôleur. vérifier le code ci-dessous

$notrolepermision =DB::table('permission_role') 
     ->join('permissions', 'permissions.id', '=', 'permission_role.permission_id') 
     ->whereNotIn('permission_role.role_id' ,$rolepermissiongetid->role_id) //<--------------check this line you need $rolepermissiongetid->role_id in stead of $rolepermissiongetid 
     ->get(); 
+0

j'ai $ rolepermissiongetid = DB :: table ('permission_role') -> select ('role_id') -> où ('permission_role.role_id', $ id) -> get(); donc pas besoin d'utiliser $ rolepermissiongetid-> role_id –