Взаимодействие Laravel Eloquent One to Many

У меня есть таблица ресторанов и таблица предложений. В одном ресторане может быть несколько предложений. Я пытаюсь создать связь между Restaurant-Offers, используя метод hasMany ().

Структура таблицы:

1) ресторан

  • Я бы

  • название ресторана

2) предложения

  • offer_id

  • restaurant_ID

  • предложение цены

Код: В модели ресторана я делаю что-то вроде этого

<?php namespace App; use Illuminate\Database\Eloquent\Model; class Restaurant extends Model { public function offer(){ return $this->hasMany('Offer'); } } 

и я попытался напечатать результат, используя

под кодом в поле зрения

  foreach ($restaurants_data as $key => $value) { print_r($value->offer); ?> 

Код маршрута :

 Route::get('/home/restaurants',function(){ $restaurants = DB::table('restaurants')->simplepaginate(3); return view('restaurants',['restaurants_data'=>$restaurants]); }); 

введите описание изображения здесь

Но я не получаю данные о предложениях, где я ошибаюсь. Благодарю.

Если вам нужны отношения, определенные в модели, вы должны использовать модель:

 $restaurants = \App\Restaurant::simplePaginate(3); 

Конструктор запросов не возвращает экземпляры модели, он возвращает объекты stdClass.

В модели измените код следующим образом:

 <?php namespace App; use Illuminate\Database\Eloquent\Model; class Restaurant extends Model { public function offer(){ return $this->hasMany('Offer','restaurant_ID','id'); } }