2016-08-08 18 views
0

Ich habe 3 Tabellen mit Bezug.Versuch, Eigenschaft von Nicht-Objekt zu erhalten. Eloquent Laravel 5.2

Benutzer, dosen und

ich will statusdosen zu dosen Ansicht Daten von Status zeigen. i erstellen bereits Funktion:

Dosen Modell:

public function user() 

{ 
    return $this->belongsTo('App\User'); 
} 

public function dosen() 

{ 
    return $this->belongsTo('App\Dosen'); 
} 

public function status() 
{ 
    return $this->belongsTo('App\StatusDosen'); 
} 

User-Modell:

public function dosen() 
{ 
return $this->hasOne('App\Dosen'); 
} 

public function status() 
{ 
return $this->hasOne('App\StatusDosen'); 
} 

Status-Dosen:

public function user() 

{ 
    return $this->belongsTo('App\User'); 
} 

public function dosen() 

{ 
    return $this->belongsTo('App\Dosen'); 
} 

    public function status() 
{ 
return $this->belongsTo('App\StatusDosen'); 
} 

und Verfahren in der Steuerung:

public function status() 
{ 
    $dosen = Dosen::paginate(10); 
    return view('admin/dosen.status', compact('dosen')); 
} 

Statusansicht:

@foreach($dosen as $key => $value) 
        <tr> 
         <td>{{ $value->namadosen }}</td> 
         <td> 
          @if ($value->status->status) 
          <span class="label label-success">Sedang Dikampus</span> 
          @else 
          <span class="label label-danger">Tidak Dikampus</span> 
          @endif          
         </td> 
         <td> 
         {!! Form::open(['url' => 'admin/dosen/status' . $value->user_id, 'style'=>'display:inline-block']) !!} 
          {!! Form::select('status', array('1' => 'Dikampus', '0' => 'Tidak Dikampus'), null, ['placeholder' => 'Pilih Status'], ['class' => 'form-control']) !!} 
          <br><br> 
          {!! Form::button('<i class="fa fa-check-square-o"></i> Simpan', ['type' => 'submit', 'class' => 'btn btn-primary btn-sm']) !!} 
          {!! Form::close() !!} 
         </td> 
        </tr> 
        @endforeach 

bitte meinen Code korrigieren.

+0

Sie angerufen hat keine der Methode, die Sie schrieb; rufe in dieser Zeile $ dosen = Dosen :: paginate (10) auf; https://laravel.com/docs/5.2/eloquent-relationships – Atiqur

Antwort

0

Angenommen, Sie mit statusdosen Ihre dosen Daten wollen, werden Sie Ihre Statusfunktion wie unten ändern müssen:

public function status() 
{ 
    $dosen = Dosen::with('status')->paginate(10); 
    return view('admin/dosen.status', compact('dosen')); 
}