2016-08-22 7 views
0

So arbeite ich mit zwei Tabellen, Kampagne und Aufgabe.Laravel Update-Tabelle mit Fremdschlüssel

class Campaign extends Model { 
    public function task() 
    { 
     return $this->hasMany('App\Task'); 
    } 
} 

und Modell für die Aufgabe

class Task extends Model { 
    public function campaign() 
    { 
     return $this->belongsTo('App\Campaign'); 
    } 
} 

so unter Verwendung von Daten von einer Form Ich versuche, beiden Tabellen zu aktualisieren. Tabelle Kampagne hat einen Fremdschlüssel campain_id auf Aufgaben. Dies ist mein Controller-Code beiden Tabellen zu aktualisieren, aber ich erhalte eine Fehlermeldung

public function update(Request $request, $TaskID) 
    { 

     $campaign = Campaign::Find($TaskID); 
     $campaign-> campaign_name = $request->campaign_name; 
     $campaign -> company = $request->company; 

     $campaign->save(); 

     $stores= Task::where('campaign_id','=',$TaskID)->first(); 
     $store ->company = $request->input('company'); 
     $store->save(); 
    } 

Dies ist die Störung erhalte und kann nicht wirklich verstehen, wie ist noch neu auf Laravel.

in TaskController.php line 214 
at HandleExceptions->handleError('2', 'Creating default object from empty value', 'F:\Projects\Dashboard\app\Http\Controllers\TaskController.php', '214', array('request' => object(Request), 'TaskID' => '5', 'campaign' => object(Campaign), 'stores' => object(Task), 'store' => object(stdClass))) in TaskController.php line 214 
at TaskController->update(object(Request), '5') 

bitte identifizieren mein Problem helfen daran zu arbeiten und aktualisieren zugleich ist

+1

Welche Linie ist Linie 214? –

Antwort

0

Welche Linie 214 Linie, die beiden Tabellen zu haben?

Sie das Speichern der Ergebnisse zu $ speichert Variable, aber Sie es später Referenz $ store Variable, die leer ist, das ist, warum Sie den Fehler.

ersetzen

$stores= Task::where('campaign_id','=',$TaskID)->first(); 

mit

$store = Task::where('campaign_id','=',$TaskID)->first(); 

HINWEIS: Sie können unter Verwendung der Beziehungen von Ihnen definierten Belastung bezogenen Aufgaben explizit vermeiden. Um alle Aufgaben für eine Kampagne zu erhalten, können Sie einfach auf $ campaign-> task zugreifen, um alle damit verbundenen Aufgaben zu erhalten.

+0

Entschuldigung, das war dumm von mir. – MuseMe

+0

obwohl immer noch dieser Fehler nach der Korrektur – MuseMe

+0

SQLSTATE [42S22]: Spalte nicht gefunden: 1054 Unbekannte Spalte 'ID' in 'WHERE-Klausel' (SQL: – MuseMe

Verwandte Themen