Рубрики
Uncategorized

Миграция данных Laravel и красноречивый ORM

Автор оригинала: David Wong.

Представил

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

Создание таблиц данных

Первым шагом, конечно, является создание таблицы данных. Использование ремесленник Команды упрощают создание моделей и перенос данных. php ремесленник делает: модели моделей/Просмотр журнала-m , -m Параметры создают файлы переноса данных, а также модели. После выполнения вышеупомянутых заказов был добавлен новый. app/Models/BrowseLog.php а также база данных/миграции/{now_date}_create_browse_logs_table.php Два файла. Следующее редактирование {now_date}_create_browse_logs_table.php Для создания таблиц данных

/**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('browse_logs', function (Blueprint $table) {
            $table->increments('id');
            $table - > ipAddress ('ip_addr') - > comment ('ip address');
            $table - > string ('request_url', 20) - > comment ('request url');
            $table->char ('city_name', 10) ->comment (' get the city name according to IP ');
            $table->timestamps();
        });

        DB:: statement ("ALTER TABLE `browse_logs `comment'Browse Record Table');//Table Annotation"
    }

Код, как указано выше, после редактирования выполните команды php artisan migrate Создаются все таблицы, которые не были перенесены. следующим образом

Лично тип данных по умолчанию laravel является спорным. например ip-адрес() Формат данных: varchar(45) На самом деле, его можно использовать ip2long преобразовать в int Хранилище. метки времени() Метки времени также можно использовать для хранения. Конечно, laravel также предоставляет средства доступа – модификаторы для удобства обслуживания. У вас есть свой собственный выбор в реальном проекте.

Определение промежуточного программного обеспечения

Определите глобальное промежуточное программное обеспечение, и каждый запрос будет выполнен. реализация php artisan make:журнал просмотра промежуточного программного обеспечения И создал app/Http/Middleware/BrowseLog.php Документы. Добавьте созданное промежуточное программное обеспечение в app/Http/Kernel.php Ниже перечислены

Записанные данные

Наконец, в промежуточном программном обеспечении запишите данные в базу данных, код выглядит следующим образом

/**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $log = new \App\Models\BrowseLog();

        $log->ip_addr = $request->getClientIp();
        $log->request_url = $request->path();
        $log->city_name = get_city_by_ip();

        $log->save();

        return $next($request);
    }

Посетив несколько ссылок, перейдите в базу данных и посмотрите

Запись данных является нормальной, насколько это касается данного примера.

Ссылка: Быстрое начало работы с базами данных – Миграция, Красноречивый ORM.

Оригинал: “https://developpaper.com/laravel-data-migration-and-eloquent-orm/”