2016-08-08 19 views
0

私は関係のある3つのテーブルを持っています。非オブジェクトのプロパティを取得しようとしています。 Eloquent laravel 5.2

ユーザー、dosen、と私はdosenビューに状態からのデータを表示したい

をstatusdosen。

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'); 
} 

Userモデル:

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

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

ステータス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'); 
} 

と方法:

public function status() 
{ 
    $dosen = Dosen::paginate(10); 
    return view('admin/dosen.status', compact('dosen')); 
} 
私はすでに関数を作成しますの

ステータスビュー:

@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 

私のコードを修正してください。

+0

あなたが書いた方法のいずれかを呼び出していませんでした。この行で$ dosen = Dosen :: paginate(10)を呼び出します。 https://laravel.com/docs/5.2/eloquent-relationships – Atiqur

答えて

0

あなたがstatusdosenとあなたのdosenデータが欲しいと仮定すると、あなたは以下のように自分のステータスの機能を変更する必要があります。

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