我想根据city_id
表中保存的locations
加载事件。
这些是我的表格:
活动表:
$table->increments('id');
$table->string('event_name');
$table->integer('event_location_id')->unsigned();
地点表:
$table->increments('id');
$table->string('location_name');
$table->integer('city_id')->unsigned();
在我的活动模型中,我有:
public function locations()
{
return $this->belongsTo('Locations','event_location_id');
}
在我的位置模型中:
public function city()
{
return $this->belongsTo('City','city_id');
}
如何根据城市获取活动?
答案 0 :(得分:0)
要获得关系位置,请按照这种方式进行
City::find($id)->locations
如果你想得到你需要迭代它的名字
答案 1 :(得分:0)
经典hasManyThrough
示例:
我假设模型名称:Event
,Location
,City
// City model
public function events()
{
return $this->hasManyThrough('Event', 'Location', 'city_id', 'event_location_id');
}
// then simply
$city->events; // Collection of Event models
它将返回与给定城市的所有Event
模型相关的所有Location
模型。