1

我在通过 ajax 和 eloquent 更新时遇到问题。

我在 jquery 中制作 .ajax :

           $('#button-acept').on("click",function(event) {
            event.preventDefault()
            $.ajax({
                url: '{{ URL::to('/')}}/note_acept/{{$note->id}}',
                type: 'GET',
                dataType: 'json',
                success: function(data) {
                    console.log(data.message);
                    $('#alert-acepted').show();
                    $('.navbar-hide').hide();
                }
            });
        });

和网址的动作:

public function acept_note($id){

    $note = Noticia::find($id);
    $note->acept = true;
    $note->save();
    return Response::json(array('message'=>"The note has been acepted"));

}

奇怪的是,当 de note id 为 1 时,它会正确更新 acept 字段,但如果 note 有任何其他 id(很明显)它就不起作用。

我也尝试使用查询生成器,它更新正确,但我也有一个关于给用户积分的问题。

这是它的工作:

DB::table('notes')
        ->where('id', $id)
        ->update(array('acept' => true));

但是当我尝试在同一功能上使用其他雄辩的更新时,它不起作用。

4

1 回答 1

1

我遇到了这个问题,实际上只是因为您使用的是 id 而不是类。所以当 ajax 运行时,它期望只有一个元素被点击。它只会关心表格的第一行。

而不是使用#,使用.

将您的重命名'#button-acept''.button-acept'.. 在您的 html 中,将您的按钮更改为使用class=而不是id=

我希望我回答这个问题还为时不晚!干杯!

于 2018-03-19T03:39:53.130 回答