2016-09-27 5 views
0

私は誰でも助けることができるlaravelの新しいですか?ビュー(Laravel5)でリンクテーブルの列の値を取得する方法は?

テーブル構造

1) rooms 
    id |roomno |roomtype_id |luxurytype |status 
2) roomtypes 
    id| code| description 

モデルコード

1)roomtypeモデル

<?php 

namespace App; 
use Illuminate\Database\Eloquent\Model; 

class roomtype extends Model 
{ 
public function rooms(){ 
    return $this->hasMany('App\room'); 
} 
} 

2)部屋モデル

namespace App; 
use Illuminate\Database\Eloquent\Model; 

class room extends Model 
{ 
    public function roomtypes(){ 
    return $this->belongsTo('App\roomtype'); 
    } 
} 

コントローラ

public function index() 
{ 
    $roomtype = roomtype::all(); 
    $rooms = room::all(); 
    return view('home', array('roomtype'=>$roomtype , 'rooms'=>$rooms)); 
} 

ビュー

@foreach ($rooms as $rooms) 
       <tr> 
        <td>{{ $rooms->roomno }}</td> 
        <td>{{ $rooms->luxurytype }}</td> 
        <td>{{ $rooms->roomtypes->description }}</td> 
        <td>{{ $rooms->status }}</td> 
        <td></td> 
       </tr> 
       @endforeach 

エラー
私は、この行{{ $rooms->roomtypes->description }}を使用する場合は取得しています:

非オブジェクト
のプロパティを取得しようとすると(ビュー:C:\ xamppの\ htdocsに\ HMS \リソース\ビュー\ home.blade.php)

にはどうすればそのroomtypeの説明付きの部屋を表示することができますか?

答えて

1
はway-以下でブレードビューでこの

public function index() 
{ 
    $rooms = room::with('roomtypes')->get(); 
    return view('home', array('rooms'=>$rooms)); 
    } 

今すぐアクセス客室タイプのようなあなたのコントローラファイルを変更し

@foreach ($rooms as $rooms) 
      <tr> 
       <td>{{ $rooms->roomno }}</td> 
       <td>{{ $rooms->luxurytype }}</td> 
       <td>{{ $rooms->roomtypes[0]->description }}</td> 
       <td>{{ $rooms->status }}</td> 
       <td></td> 
      </tr> 
      @endforeach 
関連する問題