【问题标题】:How to Update AJAX Laravel 5.2如何更新 AJAX Laravel 5.2
【发布时间】:2016-07-05 08:36:52
【问题描述】:

我用下面的代码来编辑 但是尽管编辑成功了消息没有存入数据库,问题出在哪里?

我的控制器:

public function patchUpdate($id, messageRequest $request)
{
    try {
        $category = Category::findOrNew($id);
        $category->update($request->all());
        return response()->json(['sms' => 'ok']);
    } catch (Exception $e) {
        return $request->messages();
    }
}

我的 Ajax 代码:

$('#submitUpdate').on('click', function (e) {
            e.preventDefault();
            var cat = $('#updateForm').serialize();
            var id = $('#updateForm').attr('placeholder');
            var token = $('input[name="_token"]').attr('value');
            $.ajax({
                url: "{{ url('/update') }}" + '/' + id + '',
                type: 'post',
                data: {"id": id, '_token': token, 'cat': cat},
                success: function (data) {
                    alert(data.sms);
                }
            });
        });

我的路线代码:

Route::group(['middleware' => 'web'], function () {
Route::auth();
Route::post('update/{id}', ['as' => 'update/{id}',  'uses' =>        'categoryController@patchUpdate']);
});

【问题讨论】:

  • 对不起,我的回答错了... 问题 1) 编辑消息成功是什么意思?和 2)您是否已转储 $request->all() 以仔细检查它是否适合您的模型?
  • 是的,这个主题已经存在
  • 需要解决这个问题吗?
  • 此代码有效但未设置为数据库:(

标签: php jquery ajax laravel


【解决方案1】:

检查您的模型是否具有具有相同输入名称的大量可分配属性。

class Categories extends Model
{
    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = ['name'];
}

【讨论】: