Laravel: простой пример MVC - PullRequest
       4

Laravel: простой пример MVC

0 голосов
/ 02 сентября 2018

Я новичок в Laravel, и список основных задач документации возвращает виды из маршрута (web.php), но я хочу использовать контроллер для возврата файла изображения.

Итак, у меня есть для моего маршрута:

Route::get('/products', 'ProductController@index');

Тогда мое действие ProductController (пожалуйста, игнорируйте комментарии, поскольку я использую index для упрощения вещей):

<?php

namespace App\Http\Controllers;

use App\Product;
use Illuminate\Http\Request;

class ProductController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     @return \Illuminate\Http\Response
     Fetch and return all product records.
     */
    public function index()
    {
        //
        //return response()->json(Product::all(), 200);
        return view('/pages/product', compact('product'));

    }

И мой product.blade.php (вложенный в views / pages / product):

<img src="/images/product/Frozen_Ophelia_800x.png">

Я продолжаю получать приложение класса ReflectionException \ Продукт не существует.

Я сработал, когда только что вернул вид с маршрута. Я получаю ReflectionException Class App\Product does not exist, поэтому я думаю, что это что-то наверху, т.е. use App\Product; это неправильно.

Изменить (ниже мое App\Product вложено в app/Providers):

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;

class Product extends Model
{
    //
    use SoftDeletes

    protected $fillable = [
        'name', 'price', 'units', 'description', 'image'
    ];

    public function orders(){
        return $this->hasMany(Order::class);
    }
}

Ответы [ 2 ]

0 голосов
/ 02 сентября 2018

Предполагая, что App\Product модель существует, правильный код должен быть:

public function index() {
    $product = Product::all();
    return view('pages.product', compact('product'));
}

Отметьте Документы .

PS ты звонил $ composer dumpautoload? ReflectionException Class Ошибка часто связана с автозагрузкой нового класса (например, новые классы в пакетах)

0 голосов
/ 02 сентября 2018
Функция просмотра

должна иметь любой шаблон представления, а не URL или маршрут. Из вас есть файл views/pages/product.blade.php, затем используйте

   view('pages.product',compact('product'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...