У меня есть 2 стола в качестве продуктов питания :
Другая таблица ресторана : Ресторан :
Я делаю Pivot table food_restaurant как:
Я хочу показать местонахождение ресторана вместе с продуктами питания, на мой взгляд. Для этого я делаю функцию в модели Food.php как
public function restaurant() { return $this->belongsToMany('App\Restaurant','food_restaurant','Food_id','Res_id'); }
И другая модель Restaurant.php as
public function food() { return $this->belongsToMany('App\Food','food_restaurant','Res_id','Food_id'); }
Мой контроллер :
class Detailscontroller extends Controller { public function index() { $Foods= Food::all(); return view('welcome', compact('Foods')); } public function show($Food_id) { $food =Food::findOrFail($Food_id); return view('show', compact('food')); } }
Маршруты:
Route::get('/','DetailsController@index'); Route::get('/{Food_id}', 'DetailsController@show');
Просмотреть welcome.blade.php :
@extends('layouts.app') @section('content') <div class="container"> <div class="row"> <div class="col-md-10 col-md-offset-1"> @foreach($Foods as $Food) <p><img src="{{ asset('uploads/'.$Food->Image) }}" /><p> <Food> <h2> <a href="/{{$Food->Food_id}}">{{$Food->FoodName}} <i class="fa fa-chevron-circle-right"></i></a </h2> </Food> @endforeach </div> </div> @endsection
И show.blade.php :
@extends('layouts.app') @section('content') <h1 align="center">{{$food -> FoodName}}</h1> <p><img src="{{ asset('uploads/'.$food->Image) }}" /><p> <detail> <h3><p>FoodDescription:</h3><h4>{{$food->Description}}</h4></p> <h3><p>Price:</h3><h4>{{$food->Price}}</h4></p> @foreach ($food->restaurant as $restaurant) <h3><p>Location:</h3><h4>{{$restaurant->Location}}</p></h4> @endforeach @endsection
-@extends('layouts.app') @section('content') <h1 align="center">{{$food -> FoodName}}</h1> <p><img src="{{ asset('uploads/'.$food->Image) }}" /><p> <detail> <h3><p>FoodDescription:</h3><h4>{{$food->Description}}</h4></p> <h3><p>Price:</h3><h4>{{$food->Price}}</h4></p> @foreach ($food->restaurant as $restaurant) <h3><p>Location:</h3><h4>{{$restaurant->Location}}</p></h4> @endforeach @endsection
Но это не показывает местоположение для меня. Как я могу показать местоположение в моем представлении show.blade.php? Я новичок в laravel.Where проблема?
возвратите массив еды к взгляду с связанным рестораном.
public function show($Food_id) { $food = Food::with('restaurant')->findOrFail($Food_id); return view('show', compact('food')); }