【问题标题】:method links does not exist - laravel 5.4方法链接不存在 - laravel 5.4
【发布时间】:2018-07-04 08:43:09
【问题描述】:

我在表中使用按序列号过滤,但是当我单击按钮时出现这样的错误

"方法链接不存在"

这是我的控制器

 public function show(Request $request)
{

    $instrument = Instrument::when($request->serial_number, function ($query) use ($request) {
        $query->where('serial_number', 'like', "%{$request->serial_number}%");
    })->paginate(5);
    $instrument->appends($request->only('serial_number'));
    return view('settinginstrument.index', compact('settinginstrument'));
}

这是我的刀片:

 <table class="table">
    @foreach ($instruments as $instrument)
      <tr>
        <td>
          Serial Number : {{ $instrument->serial_number }}
          @if($instrument->customer !== NULL)
          <div class="text-muted"><i class="fa fa-hospital-o" aria-hidden="true"></i>  {{ $instrument->customer->name }}</div>
          @endif
          @if($instrument->contractType !== NULL)
          <div class="text-muted"><i class="fa fa-compress" aria-hidden="true"></i>  {{ $instrument->contractType->name }}</div>
          @endif
        </td>
        <td>
          <div class="pull-right">
            <a type="button" href="{{ route('instrument.edit', ['instrumentType' => $instrumentType->id, 'instrument' => $instrument->id]) }}"
              class="btn btn-success ">
              <i class="fa fa-pencil"></i> Edit
            </a>
              @if($instrument->customer == NULL || $instrument->contractType == NULL)
              <a href="{{ route('instrument.destroy', ['instrumentType' => $instrumentType->id, 'instrument' => $instrument->id]) }}"
                data-method="delete" data-confirm="" class="btn btn-danger">
                <i class="fa fa-trash"></i> <span class="hidden-xs">Delete</span>
              </a>
              @endif

          </div>
        </td>
      </tr>
    @endforeach
  </table>
  <div class="paginator text-center">{{ $instruments->links() }}</div>
  @else
....................................

我的代码哪里出错了?

【问题讨论】:

    标签: laravel search


    【解决方案1】:

    您没有将参数传递给视图:

    public function show(Request $request)
    {
    
        $instruments = Instrument::when($request->serial_number, function ($query) use ($request) {
            $query->where('serial_number', 'like', "%{$request->serial_number}%");
        })->paginate(5);
        $instrument->appends($request->only('serial_number'));
        return view('settinginstrument.index',['instruments' => $instruments);
    }
    

    然后在刀片上:

    {{$instruments->links()}}
    

    【讨论】:

    • 和,, 一样, 不能而且还是 eroor
    【解决方案2】:

    当您的记录计数为零并且您尝试访问 links() 时,就会出现此类问题 添加条件以检查记录是否存在。

    @if($instruments)
    <div class="paginator text-center">{{ $instruments->links() }}</div>
    @endif
    

    在控制器中还有一个拼写错误$instruments$instrument 我建议在foreach 上方添加条件 并在空白结果中显示一些找不到记录的消息。

    更新 还将$instruments 传递给秃头

    $instruments = Instrument::when($request->serial_number, function ($query) use ($request) {
        $query->where('serial_number', 'like', "%{$request->serial_number}%");
    })->paginate(5);
    $instruments->appends($request->only('serial_number'));
    return view('settinginstrument.index', compact('instruments'));
    

    【讨论】:

    • 停止复制我的答案。
    • @LeoinstanceofKelmendi 我特别提到了更新整个答案和您可以查看的时间
    猜你喜欢
    • 2018-10-15
    • 2018-01-29
    • 2017-03-27
    • 1970-01-01
    • 2018-02-03
    • 2019-03-06
    • 1970-01-01
    • 2016-11-05
    • 2017-05-21
    相关资源
    最近更新 更多