Полное руководство по созданию модели с контроллером в Laravel

В Laravel архитектурный шаблон Модель-Представление-Контроллер (MVC) широко используется для создания надежных и масштабируемых веб-приложений. Модель представляет данные и бизнес-логику, Представление управляет уровнем представления, а Контроллер управляет взаимодействием между Моделью и Представлением. В этой статье мы рассмотрим различные методы и предоставим примеры кода для создания модели с контроллером в Laravel.

  1. Создание модели.
    Чтобы создать модель в Laravel, вы можете использовать команду make:modelArtisan. Откройте терминал и перейдите в каталог проекта Laravel, затем выполните следующую команду:
php artisan make:model Product

В каталоге app/Modelsбудет создан новый файл Product.php, представляющий вашу модель продукта.

  1. Создание контроллера.
    Аналогично вы можете создать контроллер с помощью команды make:controllerArtisan. Запустите следующую команду в своем терминале:
php artisan make:controller ProductController

Это создаст файл ProductController.phpв каталоге app/Http/Controllers.

  1. Определение маршрутов.
    Далее вам необходимо определить маршруты для сопоставления HTTP-запросов с действиями вашего контроллера. Откройте файл routes/web.phpи добавьте следующее определение маршрута:
use App\Http\Controllers\ProductController;
Route::get('/products', [ProductController::class, 'index']);

Этот маршрут сопоставит URL-адрес /productsс методом indexProductController.

  1. Реализация действий контроллера.
    Внутри файла ProductController.phpвы можете определить различные методы для обработки различных действий, связанных с вашей моделью. Вот пример метода index, который извлекает и отображает все товары:
namespace App\Http\Controllers;
use App\Models\Product;
class ProductController extends Controller
{
    public function index()
    {
        $products = Product::all();
        return view('products.index', ['products' => $products]);
    }
}
  1. Взаимодействие с моделью.
    В методах вашего контроллера вы можете использовать модель для выполнения операций CRUD (создание, чтение, обновление, удаление) над вашими данными. Вот пример метода store, создающего новый продукт:
public function store(Request $request)
{
    $product = new Product;
    $product->name = $request->input('name');
    $product->price = $request->input('price');
    $product->save();
    return redirect('/products');
}
  1. Регистрация дополнительных маршрутов.
    Вы можете зарегистрировать дополнительные маршруты для таких действий, как создание, обновление и удаление записей. Вот пример:
Route::post('/products', [ProductController::class, 'store']);

Этот маршрут сопоставит запрос HTTP POST с методом storeProductController.

В этой статье мы рассмотрели основные шаги по созданию модели с контроллером в Laravel. Мы изучили методы определения маршрутов, реализации действий контроллера и взаимодействия с моделью для выполнения операций CRUD. Следуя этим методам, вы сможете создавать мощные веб-приложения с использованием архитектуры MVC Laravel.