首页 > 解决方案 > 未定义属性:Illuminate\Pagination\LengthAwarePaginator::$id(查看:C:\xampp\htdocs\medipro55\resources\views\admin\division\index.blade.php)

问题描述

我正在尝试使用 jquery 表单更新请求数据,但我只得到那个错误,我找到了任何解决方案,但没有。那是我的视图页面。 编辑按钮

<button type="button" class="btn btn-pill btn-outline-primary btn-sm open_model" data-toggle="modal" data-target="#editModal" data-id="{!! $d->id !!}"
                                                    data-description="{!! $d->description !!}"
                                                    data-sorting="{!! $d->sorting !!}">
                                            <i class="fa fa-pencil"></i> Edit
                                        </button>

(index.blade.php)

{!! Form::open(['url' => 'divisions/'.$divisions->id, 'method' => 'PUT', 'class' => 'form-horizontal']) !!}
<div class="form-group row">
    <label class="col-md-3 col-form-label" for="name">Division</label>
    <div class="col-md-9">
        <input type="text" id="description" name="description" value="{{old('description')}}" class="form-control" placeholder="Enter Division..">
        <input type="hidden" class="form-control" name="id" id="id">
        <span class="help-block"></span>
        @if ($errors->has('description'))
        <span class="text-danger">{{ $errors->first('description') }}</span>
        @endif
    </div>
</div>
<div class="form-group row">
    <label class="col-md-3 col-form-label" for="sort">Sort</label>
    <div class="col-md-9">
        <input type="text" id="sorting" name="sorting" value="{{old('sorting')}}" class="form-control" placeholder="Enter Sort..">
        <span class="help-block"></span>
        @if ($errors->has('sorting'))
        <span class="text-danger">{{ $errors->first('sorting') }}</span>
        @endif
    </div>
</div>
<div class="pull-right">
    <button type="submit" class="btn btn-pill btn-success btn-outline-success">
    Update</button>
    <button type="button" data-dismiss="modal" class="btn btn-pill btn-danger btn-outline-danger">
    Close</button>
</div>
{!! Form::close() !!}

我的编辑弹出模型表单的 jquery 代码

$( document ).ready(function() {
    $('#editModal').on('show.bs.modal', function (event) {
        var button = $(event.relatedTarget)
        var description = button.data('description')
        var sorting = button.data('sorting')
        var id = button.data('id')
        var modal = $(this)
        modal.find('.modal-body #description').val(description)
        modal.find('.modal-body #sorting').val(sorting)
        modal.find('.modal-body #id').val(id)
        // alert('id');
    });
});

DivisionController.php

public function index()
{
    $divisions = Division::paginate(10);
    return view('admin.division.index')->with('divisions', $divisions);
}

标签: phpjquerylaravel-5

解决方案


$divisions是一个分页器对象,它服务于一个部门的集合。Paginator 没有$id参数 - 各个部门都有。

您需要遍历分页器以获取各个部门,然后才能获取他们的 ID,例如:

@foreach ($divisions as $division)
  {{ $division->id }}
@endforeach

推荐阅读