2017-03-21 4 views
1

Ich mache eine Crud-Anwendung mit Laravel 5.3, Ajax. Ich bin mit einem einen Accessor auf meine Mitarbeiter Modell wie folgt: -Laravel 5.3: Accessor-Wert doesnot JSON encode

EmployeeController.php: -

public function show(Request $request) 
    { 

     if($request->ajax()){ 
      $id = $request->id; 
      $employee = Employee::find($id); 
      return response()->json($employee); 
     } 

Ansicht Code: -

<div class="col-sm-3"> 
     <img id="view_avatar" src="" alt="Avatar" class="img-thumbnail"> 
</div> 

<p><b>Employee Name : </b><span id="view_ename" class="text-success"></span></p> 
<p><b>Designation : </b><span id="view_designation" class="text-success"></span></p> 
<p><b>Mobile No.: </b><span id="view_mobile" class="text-success"></span></p> 
<p><b>Email: </b><span id="view_email" class="text-success"></span></p> 
<p><b>Address : </b><span id="view_address" class="text-success"></span></p> 

JQuery-Code für Daten erhalten mit AJAX: -

function fun_view(id) 
     { 
     var view_url = $("#hidden_view").val(); 
     $.ajax({ 
      url: view_url, 
      type:"GET", 
      data: {"id":id}, 
      success: function(result){ 
      console.log(result); 
      $("#view_avatar").attr('src',result.avatar); 
      $("#view_ename").text(result.name); 
      $("#view_designation").text(result.designation); 
      $("#view_mobile").text(result.phone); 
      $("#view_email").text(result.email); 
      $("#view_address").text(result.address); 
      } 
     }); 
     } 

Hier ein ll die Daten zeigen mit Ajax außer Bild. - In meinem Controller, wenn ich dd($employee->avatar); es zeigt die URL des Bildes. - aber in console.log(result); Ausgang gibt es nichts zu Avatar

console.log (Ergebnis) Ausgabe: -

address:"dhaka" 
bio:"dhaka" 
created_at:"2017-03-21 20:00:30" 
designation:"partner" 
email:"[email protected]" 
id:18 
name:"Moloy" 
phone:"01555555555" 
updated_at:"2017-03-21 20:00:30" 
user_id:26 

Meine Frage ist, wo ich falsch mache? Danke im Voraus.

Antwort

0

Sie müssen das Attribut zu $appends hinzufügen.

class Employee extends Model { 
    ...  
    /** 
    * The accessors to append to the model's array form. 
    * 
    * @var array 
    */ 
    protected $appends = ['avatar']; 
    ... 
} 
+0

Ich hatte das Problem vor Ihrer Antwort gelöst. Trotzdem danke... – Mrsk