Laravel Not删除记录

时间:2018-05-29 11:40:29

标签: laravel laravel-5 eloquent laravel-query-builder

我正在使用laravel来构建我的php项目。我可以成功从数据库中检索数据但是当按下删除按钮时我无法删除记录,我尝试使用ajax删除记录所以这是我的ajax代码

<tr *ngFor="let user of users; let isActive = user.status === 'ACT';"
        [ngClass]="{'not-active': !isActive}">
<td>{{user.username}}</td>
<td>{{user.status}}</td>
<td>
  <button [disabled]="!isActive">Edit</button>
  <button [disabled]="isActive">Activate</button></a>
</td>

这是路线

$('.userdelete').on('click', function () {
    alert('dfsfs');
    var id = $(this).data('id');
    $.ajax({
        type: 'DELETE',
        url: '/users/' + id,
        data: {
            '_token': $('input[name=_token]').val(),
        },
        success: function (data) {
            alert(data);
            toastr.success('Successfully deleted Post!', 'Success Alert', {timeOut: 5000});
            $('.item' + data['id']).remove();
        },
        error: function (data) {
            console.log(data);
        }
    });
});

用户模型

Route::resource('users','radcheckController');

这是控制器的销毁功能

namespace App;

use Illuminate\Database\Eloquent\Model;

class Users extends Model
{
    protected $table="radcheck";
}

2 个答案:

答案 0 :(得分:0)

您是否将ID或用户名传递给终点? 在你的控制器上你找到一个用户名,参数被命名为id,是吗?

答案 1 :(得分:0)

您需要指定正确的列,但您没有选择一列。将findfindOrFail$id一起使用或使用first()。 正确的方法是:

public function destroy($id)

{
    $res = Users::find($id);
    $res->delete();
}

或尝试:

public function destroy($id)
{
    $res = Users::where('username', $id)->first()->delete();
}