【发布时间】:2019-02-03 05:11:49
【问题描述】:
这是参考这个问题:
Laravel Eloquent One to Many relationship
我尝试了建议的方法,但无法解决。请帮忙。以下是我所做的更改:
之前:
//Route for Restaurants Page
Route::get('/home/restaurants',function(){
$restaurants = DB::table('restaurants')->simplepaginate(3);
return view('restaurants',['restaurants_data'=>$restaurants]);
});
根据建议更改:
Route::get('/home/restaurants',function(){
// $restaurants = DB::table('restaurants')->simplepaginate(3);
$restaurants = \App\Restaurant::simplePaginate(3);
return view('restaurants',['restaurants_data'=>$restaurants]);
});
在餐厅模型中
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Restaurant extends Model
{
public function offer(){
return $this->hasMany('Offer');
}
}
在视图中,现在我正在尝试通过转储值来访问它。
<?php
var_dump($restaurants_data->offer);
?>
做完dd()之后
【问题讨论】:
-
为什么建议的方式有效?错误是什么?请更具体。
-
你想做什么?您是否要参考与餐厅相关的优惠?
-
是的,我想列出特定餐厅的所有优惠。
-
另外,请尝试
$this->hasMany('App\Offer'); -
如果你 dd(\App\Restaurant::with('offer'));在控制器中?