如何在视图 (Laravel5) 中获取链接的 table 列值?

How to get the linked table column value in view (Laravel5)?

我是 laravel 的新手,有人可以帮忙吗?

表格结构

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

车型代号

1) 房型模型

<?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 }} 然后我得到:

Trying to get property of non-object
(View: C:\xampp\htdocs\hms\resources\views\home.blade.php)

如何显示带有房型描述的房间?

像这样更改您的控制器文件

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

现在在blade视图中按以下方式访问房型-:

   @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