2017-02-13 4 views
0

Я хочу удалить запись из таблицы с именем post. Я отправляю тег param с именем по-моему, чтобы удалить определенную запись с этим тегом. Так вот мой маршрутУдаление записи с использованием функции удаления laravel

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

на этот маршрут я удалить мой пост на это поле «метка». моя таблица имеет два столбца. один тег и другой контент Мой удаления fucntion в PostController является

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 (Request $ запрос) { $ TagID = $ request-> вход ('тег'); $ post = post :: find ($ tagId); $ post-> delete ($ tagId); эхо ('запись удалена'); } , изменив эту ошибку followinf Вызов функции-члена delete() on null –

+0

И изменить '$ tagId = $ request-> input ('id');', 'id' на имя сообщения идентификатор id, отправленный почтовым запросом. –

+0

Я думаю, что в 5.3 мы должны использовать метод get вместо ввода. но ваша логика сработала. Спасибо , и если мы хотим удалить любую запись на пользовательских базах, кроме первичного ключа, мы должны указать наше условие. –

0

Вы не говорите маршрут ожидать этот параметр. Вы должны попробовать это так в файле маршрутов:

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

NotFoundHttpException в RouteCollection.php строке 161: Теперь браузер показывает эту ошибку –

1

Вы должны передать параметр для примера, если вы передаете его как tag_id то вам должны захватить его внутри функции контроллера с помощью запроса.

public function deletepost(Request $request){ 

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

спасибо @gaya, ваш метод много работал для меня. –

+0

Ваше приветствие: D Qadeer_Sipra – Gaya

 Смежные вопросы

  • Нет связанных вопросов^_^