Введение в Eloquent Laravel

Система объектно-реляционного отображения (ORM) Eloquent - это реализация шаблона ActiveRecord в Laravel для работы с базами данных. Для каждой таблице в базе есть соответствующий класс-модель, который используется для работы с этой таблицей. Модель позволяет запрашивать данные из таблиц, вставлять новые записи и совершать другие действия.

Подготовка к работе

Попробуем поработать с таблицей Food в базе данных, используя модель Eloquent. Начнём с основы:
<?php
   namespace App; 
   use Illuminate\Database\Eloquent\Model;
   class Food extends Model{
   
   }
?>
Если название таблицы явно не указывается, то оно соответствует названию класса. То есть класс Food соответствует таблице с названием "food". Но можно указать своё название, указав свойство "table" внутри класса:
<?php
   namespace App; 
   use Illuminate\Database\Eloquent\Model;
   class Food extends Model{
      protected $table = 'mouse_food';
   }
?>
Модель Eloquent предполагает, что каждая таблица имеет первичный ключ с именем id. Если название этого столбца другое, то необходимо передать свойство "primaryKey" (по аналогии со свойством "table), в котором указывается другое название столбца.
Модель Eloquent также предполагает, что первичный ключ является инкрементным числов и автоматически приводит его к типу int. Если нужно использовать другие типы ключей, то задайте свойству "incrementing" значение "false"

Обработка даты и времени

Модель Eloquent ожидает, что в таблицах существуют столбцы "updated_at" и "created_at". Если нет нужды автоматически обрабатывать их, то нужно сделать свойство "timestamps" со значением "false".
<?php
   namespace App; 
   use Illuminate\Database\Eloquent\Model;
   class Food extends Model{
      protected $timestamps = false;
   }
?>
Если всё же требуется обрабатывать эти столбцы, но они имеют другие названия, то новые названия можно указать в константах CREATED_AT и UPDATED_AT:
<?php
   namespace App; 
   use Illuminate\Database\Eloquent\Model;
   class Food extends Model{
      const CREATED_AT = 'creation_date';
      const UPDATED_AT = 'last_update';
   }
?>
MouseDC.ru - хостинг, виртуальный хостинг, покупка доменов, проверка доменов, WHOIS, курсы создания сайтов, вебинары по созданию, курсы разработки сайтов, доработка сайтов, сопровождение сайтов, разработка сайтов, техподдержка сайтов
Cмотрите другие статьи:
Была ли статья полезной?
Была ли эта статья полезна? Есть вопрос?
хостинг для сайтов
Закажите недорогой хостинг Заказать

всего от 290 руб