【问题标题】:Laravel Blade @foreach directive Undefined offset: 1Laravel Blade @foreach 指令未定义偏移量:1
【发布时间】:2018-10-05 00:55:29
【问题描述】:

我在尝试循环 laravel 分页项时遇到了未定义索引的问题。这是我的代码。

控制器

class SearchController extends Controller
{
    function index()
    {
        $term = request('q', '');

        $products = Product::where('name', 'LIKE', "%$term%")->paginate(12);

        $products->appends(['q' => $term]);

        $data['products'] = $products;

        // dd( $products );

        return view('products.search', $data);
    }
}

products/search.blade.php

@foreach( $products as $prod )

<div class="post">

    <a href="{{ route('product.show', ['name' => $prod->id]) }}">

        <p class="post-title">{{ $prod->name }}</p>

    </a>

</div>

@foreach

有错误

【问题讨论】:

  • var_dump($matches); die;检查正则表达式是否返回正确的匹配数组
  • $data['products'] = $products; 这不是代码点火器,不要这样做
  • 我应该怎么做呢? $data['products'] = $products;我尝试过类似$data['products'] = Product::where('name', 'LIKE', "%$term%")-&gt;paginate(12)-&gt;appends(['q' =&gt; $term]); 但没有工作
  • 我应该在哪里做这个? var_dump($matches); die;$matches 在哪里?我在循环的第一行尝试了var_dump($matches); die;,但仍然是同样的错误

标签: php laravel laravel-blade


【解决方案1】:

那是因为你最后有一个空的@foreach,你使用@endforeach关闭刀片中的foreach循环

@foreach( $products as $prod )

<div class="post">

    <a href="{{ route('product.show', ['name' => $prod->id]) }}">

        <p class="post-title">{{ $prod->name }}</p>

    </a>

</div>

@endforeach

【讨论】:

  • ahmed 我发现我的错误,但无论如何感谢您的回复。
猜你喜欢
  • 2021-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-19
  • 1970-01-01
  • 2022-01-02
  • 2011-07-22
  • 1970-01-01
相关资源
最近更新 更多