Ich versuche mit Elequent auf einige Informationen eines Elternobjekts zugreifen, aber es ist schwer herauszufinden, wie es funktioniert. Sagen wir, ein Bier gehört zu einer Brauerei und eine Brauerei hat viele Biere. Ich habe die Biere Controller, Modell und Ansicht mit der a brewery_id, um die beiden zu verbinden. Ich kann die Beziehung durch eine Brauereitabelle erschließen, die die Biere auflistet, also weiß ich die Paarung, aber wie habe ich eine Bierseite mit allen Bieren und der Brauerei, zu der sie gehören? Im Grunde Umkehr, wie ich die Beziehung bekomme.Laravel Access inverse relation Informationen
Brauerei Modell
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Brewery extends Model
{
public function Beers(){
return $this->hasMany(Beer::class);
}
}
Bier Modell
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Beer extends Model
{
protected $table = "Beers";
public function Breweries() {
return $this->belongsTo(Brewery::class);
}
}
Beers-Controller
<?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;
}
}
Beers Ansicht
@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
{{$ Bier-> Brauerei-> Name}} ändern Sie es in {{$ Bier-> Brauereien-> Name}}, weil Ihre Beziehung Methodenname ist Brauereien oder benennen Sie Ihre Methode zur Brauerei in Beer Modell. Verwenden Sie einen kleinen Buchstaben für Methoden – umefarooq
@umefarooq Das hat funktioniert und danke für die Köpfe auf unteren Gehäuse-Methoden. Wenn du dies als Antwort postest, werde ich es akzeptieren. – Packy