HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Для изменения структуры базы данных Eloquent использует специальный язык, который абстрагирует нас от специфики конкретной СУБД. Он позволяет создавать и менять таблицы, не опираясь на SQL синтаксис конкретной базы данных.</p>
1 <p>Для изменения структуры базы данных Eloquent использует специальный язык, который абстрагирует нас от специфики конкретной СУБД. Он позволяет создавать и менять таблицы, не опираясь на SQL синтаксис конкретной базы данных.</p>
2 <p>Для создания таблицы используется метод create($name, $fn), где первый параметр это имя таблицы, второй - функция, внутри которой определяется её структура.</p>
2 <p>Для создания таблицы используется метод create($name, $fn), где первый параметр это имя таблицы, второй - функция, внутри которой определяется её структура.</p>
3 <p>В Eloquent используется соглашение, что имя таблицы это имя сущности, записанное строчными буквами во множественном числе. Только в таком случае Eloquent сможет автоматически связать класс с таблицей. Вот некоторые примеры:</p>
3 <p>В Eloquent используется соглашение, что имя таблицы это имя сущности, записанное строчными буквами во множественном числе. Только в таком случае Eloquent сможет автоматически связать класс с таблицей. Вот некоторые примеры:</p>
4 <p>Из последнего примера видно, что имя класса состоящее из нескольких слов, меняет свой формат с<em>CamelCase</em>на<em>snake_case</em>.</p>
4 <p>Из последнего примера видно, что имя класса состоящее из нескольких слов, меняет свой формат с<em>CamelCase</em>на<em>snake_case</em>.</p>
5 <p>Структура таблицы описывается в анонимной функции, в которую передаётся объект $table. Этот объект содержит множество методов, каждый из которых его меняет. Затем, Eloquent использует этот объект для генерации правильного SQL-запроса.</p>
5 <p>Структура таблицы описывается в анонимной функции, в которую передаётся объект $table. Этот объект содержит множество методов, каждый из которых его меняет. Затем, Eloquent использует этот объект для генерации правильного SQL-запроса.</p>
6 <p>По умолчанию поля создаются как<em>not null</em>.</p>
6 <p>По умолчанию поля создаются как<em>not null</em>.</p>
7 <p>Здесь приведена лишь малая часть того, что умеет делать Eloquent. За описанием остальных методов, лучше обратиться к<a>официальной документации</a>.</p>
7 <p>Здесь приведена лишь малая часть того, что умеет делать Eloquent. За описанием остальных методов, лучше обратиться к<a>официальной документации</a>.</p>
8 <p>Отдельно стоит выделить метод $table-&gt;timestamps(), добавляющий в таблицу два поля:<em>updated_at</em>и<em>created_at</em>. ORM автоматически изменяет эти поля, записывая в них дату создания и обновления сущности. Это довольно удобное соглашение, которое принято во многих фреймворках на разных языках.</p>
8 <p>Отдельно стоит выделить метод $table-&gt;timestamps(), добавляющий в таблицу два поля:<em>updated_at</em>и<em>created_at</em>. ORM автоматически изменяет эти поля, записывая в них дату создания и обновления сущности. Это довольно удобное соглашение, которое принято во многих фреймворках на разных языках.</p>
9 <p>В дополнение к типам колонок перечисленным выше, Eloquent предоставляет методы-модификаторы, которые можно использовать во время создания таблиц. Например, модификатор nullable() убирает ограничение<em>not null</em>.</p>
9 <p>В дополнение к типам колонок перечисленным выше, Eloquent предоставляет методы-модификаторы, которые можно использовать во время создания таблиц. Например, модификатор nullable() убирает ограничение<em>not null</em>.</p>
10 <p>Ещё из полезного - это создание индексов. Самый распространённый случай - добавление уникального индекса на такие поля как email:</p>
10 <p>Ещё из полезного - это создание индексов. Самый распространённый случай - добавление уникального индекса на такие поля как email:</p>
11 <p>Кроме уникального индекса существует несколько других, которые нужны для поддержания целостности данных или для ускорения доступа. Подробнее о них в курсах по SQL.</p>
11 <p>Кроме уникального индекса существует несколько других, которые нужны для поддержания целостности данных или для ускорения доступа. Подробнее о них в курсах по SQL.</p>