2015-04-28 79 views
1

如果用户保存了文章,我使用if语句获得以下代码。我只是试图用jquery从数据库中删除文章。我不确定哪里会出错?非常感谢帮助!如何使用JQuery和Laravel从数据库中删除

查看:

<form action="{{URL::route('article-delete')}}" method="post" id="article_one_delete"> 
<div class="form-group"> 
<input type="hidden" name="first_desc" value="{{$firstrow->description}}" class="form-control"> 
</div> 
<div class="form-group"> 
<input type="hidden" name="first_title" value="{{$firstrow->title1}}" class="form-control"> 
</div> 

<button type ="button" id="Recodelete" class="btn btn-success btn-xs">UnSave</button> 
{{Form::token()}} 

</form> 

路线:

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

控制器:

public function deletearticle(){ 

$firsttitle  = Input::get('first_title'); 

$articledelete = UserSaveArticle::where('user_id', Auth::id() 
->where ('user_save_articles.chosen_title', $firsttitle))->delete(); 

return true; 

JQuery的:

$(document).ready(function(){ 
    $('#Recodelete').on('click', function(){ 
     var article_one_delete = $('#article_one_delete').serializeArray(); 
     var url_d   = $('#article_one_delete').attr('action'); 

     $.get(url_d, article_one_delete, function(data){ 
      console.log(data); 
     }); 
    }); 
}); 
+0

你有什么错误吗? –

+0

在你的控制器中试试: - > where('chosen_title','=',$ firsttitle) - > first();然后$ articledelete-> delete(); – retrograde

+0

不,数据库获取更新与空值,而不是行删除 – Billy

回答

1
  1. 应该定义右路线DELETE制品,这样的:
Route::delete('/article/{id}', ['as' => 'article-delete', 'uses' => '[email protected]']); 
  • HomeController $ id变量(物品ID)将可作为方法的参数:
  • function deleteArticle($id) 
    { 
        … 
    } 
    
  • 在PHP侧你定义DELETE路线,这意味着你应该使用ajax上JS侧DELETE请求方法:
  • $.ajax({ 
        url: '/article/' + articleId, 
        type: 'DELETE', 
        success: function(result) { 
         // Do something with the result 
        } 
    }); 
    
    +0

    感谢limonte。实际上我正在重新设计我的数据库。你的解决方案好得多! – Billy

    相关问题