Macroable.php第81行中的BadMethodCallException:

时间:2016-06-29 23:54:47

标签: php laravel-5.2

我正在尝试与我正在处理的项目建立关系。我得到的错误是: 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');
}

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您是否设置了路线模型绑定?即使使用该设置,我也不认为您可以仅根据请求访问模型,您需要为要注入的模型设置适当的参数。

public function store(Request $request, YourModel $model) {

}

或问题是,当您需要在$request上执行此操作时,您尝试保存$calendar_event,如下所示:

$calendar_event->Organization()->calendar()->save($calendar_event);