2017-02-13 2 views
0

Ich möchte einen Datensatz aus meiner Tabelle namens post löschen. Ich sende ein Param namens Tag in meiner Sicht, um einen bestimmten Datensatz gegen dieses Tag zu löschen. hier So ist meine StreckeLöschen Sie einen Datensatz mit Laravel löschen Funktion

Route::get('/delete' , array('as' =>'delete' , 'uses' => '[email protected]')); 

auf diesem Weg i meinen Beitrag löschen bin dagegen ‚Tag‘ Feld ist. Mein Tisch hat zwei Spalten. ist Tag und andere Inhalte Mein löscht fucntion in Postcontroller ist

public function deletepost($tag){ 

    $post = post::find($tag); //this is line 28 in my fuction 
    $post->delete(); 
    echo ('record is deleted') ; 
    } 

ich Tag aus meiner Sicht senden bin, aber es gibt den folgenden Fehler

ErrorException in Postcontroller.php line 28: 
    Missing argument 1 for 
    App\Http\Controllers\Postcontroller::deletepost() 

Antwort

1

Ihre Aktion sollte wie folgt aussehen:

use Illuminate\Http\Request; 

public function deletepost(Request $request) // add Request to get the post data 
{ 
    $tagId = $request->input('id'); // here you define $tagId by the post data you send 
    $post = post::find($tagId); 
    if ($post) { 
     $post->delete(); 
     echo ('record is deleted!'); 
    } else { 
     echo 'record not found!'); 
    } 
} 
+0

public function deletepost zeigen (Request $ request) { $ TagId = $ request-> Eingang ('Tag'); $ post = post :: find ($ tagId); $ post-> löschen ($ tagId); Echo ('Datensatz wird gelöscht'); } durch Ändern dieser Followinf Fehler kam Aufruf an eine Member-Funktion delete() auf Null –

+0

Und ändern Sie $ TagId = $ Anfrage-> Eingabe ('ID'); ', die' ID' auf den Namen des Beitrags ID-Kennung, die von der Postanforderung gesendet wurde. –

+0

Ich denke in 5.3 müssen wir get Methode anstelle von Eingabe verwenden. aber deine Logik hat funktioniert. Danke und wenn wir jeden Datensatz auf den benutzerdefinierten Basen, außer Primärschlüssel löschen möchten, müssen wir unsere Bedingung angeben. –

0

Du die Strecke nicht zu sagen erwarten dieser Parameter. Sie sollten es versuchen, auf diese Weise in Ihren Routen-Datei:

Route::get('/delete/{tag}' , array('as' =>'delete' , 'uses' => '[email protected]')); 
+0

NotFoundHttpException in RouteCollection.php Linie 161: jetzt ist Browser, um diese Fehler –

1

Sie haben die Parameter für ein Beispiel passieren, wenn Sie es wie tag_id passieren Sie dann muss es in der Controller-Funktion mit Request erfassen.

public function deletepost(Request $request){ 

    $post = post::find($request::get('tag_id')); 
    $post->delete(); 
    echo ('record is deleted'); 
} 
+0

danke @gaya Ihre Methode hat viel für mich gearbeitet. –

+0

Ihr Willkommen: D Qadeer_Sipra – Gaya

Verwandte Themen