2016-09-06 4 views
1

ich diese Methode Update haben eine Daten (jurnal Daten) zu aktualisieren, die unten auf einen anderen Daten (Edisi Daten) gehört, ist der Code:aktualisieren bezogenen Daten Laravel 5

public function update(Jurnal $jurnal, JurnalRequest $request) { 
     $input = $request->all(); 
     if ($request->hasFile('file') && $request->file('file')->isValid()) { 
      // Delete old file 
      $this->hapusPDF($jurnal); 

      // Upload new file 
      $input['file'] = $this->uploadPDF($request); 
     } 
     $id = $request->id; //retrieve id edisi 

     $jurnal = Edisi::findOrFail($id)->jurnal()->update($input); 
     return redirect()->route('edisi', ['id' => $id]); 
    } 

Die oben beschriebene Methode hat mir diesen Fehler : Keine Abfrageergebnisse für Modell [App \ Edisi]. Meine Frage ist, wie man meine Update-Methode funktioniert? Vielen Dank ..

Antwort

1

Vorausgesetzt, dass Sie einzelne journal und $jurnal die journal id hat Sie aktualisieren möchten, aktualisieren möchten, wird Ihre Update-Anweisung wie unten sein:

$jurnal = Jurnal::findOrfail($jurnal->id)->update($input); 
+0

ja Ich möchte einzelne jurnal Daten, die zu einem edisi gehören, aktualisieren. Also das Problem ist, ich möchte die Edisi-ID auch behalten :) –

+0

Aber wie der Jurnal hat seinen eigenen Primärschlüssel und Edisi-jurnal haben 1 zu viele Beziehung. Ich denke, du wirst die edisi-> id nicht brauchen. Recht ? – jaysingkar

+0

@AriandoMiller Bitte korrigieren Sie mich, wenn ich falsch liege – jaysingkar

1

Sie verwenden findOrFail($id) und es findet keine Zeile mit id = $id, so dass es eine Ausnahme auslöst. Sie können dies stattdessen tun:

$edisi = Edisi::find($id); 
if (!is_null($edisi)) { 
    $jurnal = $edisi->jurnal()->update($input); 
} else { 
    echo 'There is no edisi with ID = '.$id; 
    die(); 
} 
+0

versuchte dies und gab mir diesen Fehler: Aufruf an ein Mitglied Funktion jurnal() auf null –

+0

Ich habe meinen Code aktualisiert, bitte überprüfen. –

+0

Fertig, gab mir diesen Fehler: NotFoundHttpException in Router.php Zeile 1006: mit seltsamen URL: http://1mark.dev/edisi/%5B%5D –

0

Ich glaube, Sie sind nicht unter Verwendung eines beliebigen id Abrufen sollte

$request->id 

Sie verwenden

$request->get('id') // And you must ensure that there is an input with 'id' name comming from client 

Sie könnten auch $input['id'] verwenden. Ich hoffe es hilft.

+1

'$ Anfrage-> ID' ist vollständig gültig. https://laravel.com/docs/5.3/requests#retrieving-input – jaysingkar

Verwandte Themen