2017-02-13 19 views
0

私のテーブルpostからレコードを削除します。私はこのタグに対して特定のレコードを削除するために、私のビューにtagという名前のparamを送信しています。だからここ は私のルート、私はそれの「タグ」フィールドに対する私の投稿を削除しています。このルートによるlaravel delete関数を使用してレコードを削除する

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

です。私のテーブルには2つの列があります。 1はタグであり、他方はコンテンツです のPostControllerで私の削除fucntionは私が私の見解からタグを送信しています

public function deletepost($tag){ 

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

ですが、それはあなたが期待するルートを語っていない

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

答えて

1

あなたのアクションは次のようになります。

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

パブリック関数deletepost(要求$要求) {$はtagId = $要求 - >入力( 'タグ')を示しています。 $ post = post :: find($ tagId); $ post-> delete($ tagId); echo( 'レコードは削除されました'); } このフォローインのエラーを変更して ヌルのメンバ関数delete()を呼び出す –

+0

'$ tagId = $ request-> input( 'id');'、 'id'をポストの名前に変更しますpost要求によって送信されたID識別子。 –

+0

私は、5.3では入力の代わりにgetメソッドを使う必要があると思います。あなたのロジックは機能しました。ありがとう と私たちは、カスタムベースのレコードを削除する場合は、プライマリキー以外の条件を指定する必要があります。 –

0

次のエラーを与えていますそのパラメータ。あなたのルートファイルで、このようにそれを試してみてください :

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

NotFoundHttpException:今のブラウザは、このエラー –

1

をあなたはTAG_IDのようにそれを渡した場合、たとえば、パラメータを渡す必要があり、あなたは要求を使用してコントローラ機能内でキャプチャする必要があります。 RouteCollection.phpライン161に

public function deletepost(Request $request){ 

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

ありがとう@ガヤあなたのメソッドは私のために多く働いた。 –

+0

ようこそ:D Qadeer_Sipra – Gaya

関連する問題