我正在尝试与我正在处理的项目建立关系。我得到的错误是: Macroable.php第81行中的 BadMethodCallException: 方法组织不存在。
这是我的商店方法。
公共功能商店(请求$请求) {
$calendar_event = new CalendarEvent();
$calendar_event->title = $request->input("title");
$calendar_event->start = $request->input("start");
$calendar_event->end = $request->input("end");
$calendar_event->is_all_day = $request->input("is_all_day");
$calendar_event->background_color = $request->input("background_color");
$request->Organization()->calendar()->save($calendar_event);
return redirect()->route('calendar_events.index')->with('message', 'Item created successfully.');
} 我在CalendarEvent模型中的关系设置如下
public function Organization()
{
return $this->belongsTo('App\Organization');
}
我的组织模型中的关系设置如下
public function calendar()
{
return $this->hasMany('App\CalendarEvent');
}
感谢您的帮助。
答案 0 :(得分:0)
您是否设置了路线模型绑定?即使使用该设置,我也不认为您可以仅根据请求访问模型,您需要为要注入的模型设置适当的参数。
public function store(Request $request, YourModel $model) {
}
或问题是,当您需要在$request
上执行此操作时,您尝试保存$calendar_event
,如下所示:
$calendar_event->Organization()->calendar()->save($calendar_event);