Итак, я в замешательстве: в официальной документации Laravel говорится:
Eloquent ORM, входящий в состав Laravel, обеспечивает красивую, простую реализацию ActiveRecord для работы с вашей базой данных. Каждая таблица базы данных имеет соответствующую «Модель», которая используется для взаимодействия с этой таблицей.
Хорошо, здесь все отлично, я понял!
Поэтому я делаю переход для создания базы данных: php artisan make: migration create_items_table –create = "items"
Отлично, пока здесь тоже 🙂
Так теоретически, когда я сделаю: php artisan make: model Item , Laravel создаст класс php (который используется для взаимодействия с таблицей элементов):
class Item extends Eloquent { ... }
Но, в реальном мире, когда я делаю: php artisan make: model Item , Laravel создает php-класс (который используется для взаимодействия с таблицей элементов) ::
class Item extends Model { ... }
Так почему модель и не красноречие? Я пропал без вести? И в чем разница между «Элегантной моделью и моделью».
И если есть разница, когда я должен использовать Eloquent и когда Model …?
Спасибо ^^
Я нашел решение для моего вопроса …
Поэтому обычно вы должны добавить псевдоним в config / app.php
'aliases' => [ 'Eloquent' => Illuminate\Database\Eloquent\Model::class,
И когда вы создадите модель, Laravel будет use Eloquent;
вместо use Illuminate\Database\Eloquent\Model;
это почему, я думаю, кто-то может использовать модель, когда другие могут использовать Eloquent, это просто вопрос смысла смысла в пространстве имен: 3
Eloquent – это имя, присвоенное ORM (объектно-реляционное сопоставление), которое поставляется с Laravel. Eloquent позволяет вам взаимодействовать со своими столами, как если бы они были объектами, однако Eloquent не знает о фактических столбцах, которые у вас есть на вашем столе.
Рассмотрим простую User model
. Мы хотим, чтобы эта модель запрашивала записи в нашей таблице users
.
class User extends Eloquent { protected $table = 'users';
} Это очень простая модель. Теперь вместо запроса так.
$user = DB::table('user')->find(1);
Вы можете запросить вот так.
$user = User::find(1);
Сам Eloquent использует собственный построитель запросов, но возвращается к стандартным конструкторам запросов. Это означает, что для него доступны все методы в построителе запросов и т. Д.
Преимущества здесь:
Я только коснулся «Красноречивого». Это гораздо больше. Я предлагаю вам взглянуть на следующие ресурсы.
Для более точного простого примера нажмите здесь