2016-06-29 1 views
0

Ich versuche, eine Beziehung mit einem Projekt einzurichten, an dem ich arbeite. Der Fehler, den ich bekomme, ist: BadMethodCallException in Macroable.php Zeile 81: Methode Organisation existiert nicht.BadMethodCallException in Macroable.php Zeile 81:

Hier ist meine Speichermethode.

public function Speicher (Request $ request) {

$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.'); 

} in meinem CalendarEvent Modell Meine Beziehung wie diese in meinem Organisationsmodell

public function Organization() 
{ 
    return $this->belongsTo('App\Organization'); 
} 

eingerichtet ist

Die Beziehung eingerichtet ist, so

public function calendar() 
{ 
    return $this->hasMany('App\CalendarEvent'); 
} 

Danke für Ihre Hilfe.

Antwort

0

Haben Sie eine Routenmodellbindung eingerichtet? Und selbst bei dieser Konfiguration glaube ich nicht, dass Sie nur durch die Anfrage auf das Modell zugreifen können. Sie müssen einen geeigneten Parameter für das Modell festlegen, das Sie injizieren möchten.

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

} 

Oder das Problem ist, dass Sie auf $request versuchen, zu speichern, wenn Sie, dass auf $calendar_event tun müssen, wie folgt aus:

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