Ссылки на метод не существуют - Laravel 5.5

Я получаю следующую ошибку:

Ссылки на метод не существуют

Я также попробовал функцию рендеринга, которая дает мне тот же результат.

Это мой код:

public function welcome() {
    $products = DB::table('products')->paginate(12);
    return view('welcome', compact('products', $products));
}

Когда я звоню {{ $products->links() }}, это показывает ошибку, но если я удаляю {{ $products->links() }} Я вижу результаты.

Это мой взгляд:

    @foreach($products as $product)
    <div class="col-sm-6 col-md-4 col-lg-3">
        <!-- Product item -->
        <div class="product-item hover-img">
            <a href="product_detail.html" class="product-img">
                <img src="images/default.png" alt="image">
            </a>
            <div class="product-caption">
                <h4 class="product-name"><a href="#">{!! $product->name !!}</a></h4>
                <div class="product-price-group">
                    <span class="product-price">{!! $product->price !!} KM</span>
                </div>
            </div>
            <div class="absolute-caption">
                <form action="{!! route('store') !!}" method="POST">
                    {!! csrf_field() !!}
                    <input type="hidden" name="id" value="{{ $product->id }}">
                    <input type="hidden" name="name" value="{{ $product->name }}">
                    <input type="hidden" name="price" value="{{ $product->price }}">
                    <input type="submit" class="btn btn-success btn-lg" value="Dodaj u korpu">
                </form>
            </div>
        </div>
    </div>
    @endforeach

   {{ $products->links() }}

1 ответ

Решение

Вы должны использовать Eloquent вместо построителя запросов.

Использование:

$products = \App\Product::paginate(12);

вместо

$products = DB::table('products')->paginate(12);

чтобы это работало.

(Конечно, вам нужно создать Product модель сначала расширяющая модель Eloquent)

Другие вопросы по тегам