Подготовка к работе
Попробуем поработать с таблицей 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';
}
?>