2016-04-12 10 views
0

Elequentを使用して親オブジェクトのいくつかの情報にアクセスしようとしていますが、動作がわかりにくいです。ビールはビール醸造所に属し、ビール醸造所にはビールがたくさんあると言います。私はビールのコントローラ、モデル、ビューを持っています。私はビールを記載したビール醸造所のページで関係にアクセスすることができます。私はペアリングを知っていますが、どのビールとそれが所属するビール醸造所のビールのページを持っていますか?基本的に私は関係をどのように逆転する。Laravelアクセス逆関係情報

ビールモデル

<?php 

namespace App; 

use Illuminate\Database\Eloquent\Model; 

class Brewery extends Model 
{ 

    public function Beers(){ 

     return $this->hasMany(Beer::class); 

    } 
} 

ビールモデル

<?php 

namespace App; 

use Illuminate\Database\Eloquent\Model; 

class Beer extends Model 
{ 

    protected $table = "Beers"; 

    public function Breweries() { 

     return $this->belongsTo(Brewery::class); 

    } 
} 

ビールコントローラ

<?php 

namespace App\Http\Controllers; 

use App\Beer; 
use Illuminate\Http\Request; 
use App\Http\Controllers\Controller; 

class BeersController extends Controller 
{ 

    public function index() { 

     $beers = Beer::all(); 

     return view('beers.index', compact('beers')); 
    } 

    public function show(Beer $beer) { 

     return $beer; 

    } 

} 

ビール見る

@extends('layouts.app') 

@section('content') 

    <div class="container"> 
     <div class="row"> 
      <h1>Beers</h1> 

      @foreach ($beers as $beer) 

       <div> 
        {{ $beer->name }} 
        {{ $beer->brewery->name }} 
       </div> 

      @endforeach 

     </div> 
    </div> 

@stop 
+0

{{$ beer-> brewery->モデル。方法のための小文字を使用してください – umefarooq

+0

@umefarooqそれは働いて、下のケーシング方法で頭のためにありがとう。これを回答として投稿すると、私はそれを受け入れます。 – Packy

答えて

0
{{ $beer->brewery->name }} change it to {{ $beer->Breweries->name }} 

をビールモデル。あなたのリレーションメソッド名がビール醸造所であるか、あなたのメソッドの名前をビールのビール醸造所に変更するので、{{$ビール - >ビール醸造 - >名}}}に変更してください。

0

私はこれがあなたのprobleme

を修正するコントローラ

class BeersController extends Controller 
    { 

    public function index() { 

     $beers = Beer::with('Breweries')->get(); 

     return view('beers.index', compact('beers')); 
    } 

に閲覧推測:あなたの関係のメソッド名がビールであるか、醸造所にあなたの方法の名前を変更するので

@section('content') 

    <div class="container"> 
     <div class="row"> 
      <h1>Beers</h1> 

      @foreach ($beers as $beer) 

       <div> 
        {{ $beer->name }} 
        {{ $beer->Breweries->name }} 
       </div> 

      @endforeach 

     </div> 
    </div> 

@stop