国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Home PHP Framework Laravel Detailed introduction to laravel data migration and Eloquent ORM (code example)

Detailed introduction to laravel data migration and Eloquent ORM (code example)

Jan 08, 2019 am 11:34 AM
laravel php

This article brings you a detailed introduction (code example) about laravel data migration and Eloquent ORM. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.

The database can be said to be the most commonly used and important part of back-end development. Laravel provides a very practical Eloquent ORM model class to interact with the database simply and intuitively. At the same time, data migration is used to manage the database, which can be shared and edited with the team. For more information on both, please see the documentation below.
The following uses both as an example. The requirement is to record user browsing records. Please do not bring this example into actual projects, this article is only an example. The actual project is recorded according to the requirements, and the storage method is selected.

Create a data table

The first step is of course to create a data table. Using the artisan command can easily create models and migrate data. php artisan make:model Models/BrowseLog -m, the -m parameter also creates a data migration file when creating the model. After executing the above command, two new files, app/Models/BrowseLog.php and database/migrations/{now_date}_create_browse_logs_table.php, were added.
Next edit {now_date}_create_browse_logs_table.php to create the data table

/**
?????*?Run?the?migrations.
?????*
?????*?@return?void
?????*/
????public?function?up()
????{
????????Schema::create('browse_logs',?function?(Blueprint?$table)?{
????????????$table->increments('id');
????????????$table->ipAddress('ip_addr')->comment('ip?地址');
????????????$table->string('request_url',?20)->comment('請求?url');
????????????$table->char('city_name',?10)->comment('根據(jù)?ip?獲取城市名稱');
????????????$table->timestamps();
????????});

????????DB::statement("ALTER?TABLE?`browse_logs`?comment'瀏覽記錄表'");?//?表注釋
????}

The code is as above. After the editing is completed, execute the command php artisan migrate to create all data tables that have not been migrated. As follows

Detailed introduction to laravel data migration and Eloquent ORM (code example)

Personally, laravel’s default data type is questionable. For example, the data format of ipAddress() is varchar(45). In fact, you can use ip2long to convert it to int for storage. timestamps() can also use timestamps for storage. Of course, laravel also provides accessors & modifiers for easy maintenance. You can choose by yourself in the actual project.

Define middleware

Define a global middleware that will be executed on every request. Execute php artisan make:middleware BrowseLog to create the app/Http/Middleware/BrowseLog.php file.

Add the created middleware to app/Http/Kernel.php as follows

Detailed introduction to laravel data migration and Eloquent ORM (code example)

Record data

Finally, in the middleware, just record the data to the database. The code is as follows

/**
?????*?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);
????}
After accessing several links, go to the database to check

Detailed introduction to laravel data migration and Eloquent ORM (code example)

Data writing is normal, this example ends here.

The above is the detailed content of Detailed introduction to laravel data migration and Eloquent ORM (code example). For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Using std::chrono in C Using std::chrono in C Jul 15, 2025 am 01:30 AM

std::chrono is used in C to process time, including obtaining the current time, measuring execution time, operation time point and duration, and formatting analysis time. 1. Use std::chrono::system_clock::now() to obtain the current time, which can be converted into a readable string, but the system clock may not be monotonous; 2. Use std::chrono::steady_clock to measure the execution time to ensure monotony, and convert it into milliseconds, seconds and other units through duration_cast; 3. Time point (time_point) and duration (duration) can be interoperable, but attention should be paid to unit compatibility and clock epoch (epoch)

How does PHP handle Environment Variables? How does PHP handle Environment Variables? Jul 14, 2025 am 03:01 AM

ToaccessenvironmentvariablesinPHP,usegetenv()orthe$_ENVsuperglobal.1.getenv('VAR_NAME')retrievesaspecificvariable.2.$_ENV['VAR_NAME']accessesvariablesifvariables_orderinphp.iniincludes"E".SetvariablesviaCLIwithVAR=valuephpscript.php,inApach

Why We Comment: A PHP Guide Why We Comment: A PHP Guide Jul 15, 2025 am 02:48 AM

PHPhasthreecommentstyles://,#forsingle-lineand/.../formulti-line.Usecommentstoexplainwhycodeexists,notwhatitdoes.MarkTODO/FIXMEitemsanddisablecodetemporarilyduringdebugging.Avoidover-commentingsimplelogic.Writeconcise,grammaticallycorrectcommentsandu

Choosing between Laravel Sanctum and Passport for API authentication Choosing between Laravel Sanctum and Passport for API authentication Jul 14, 2025 am 02:35 AM

LaravelSanctum is suitable for simple, lightweight API certifications such as SPA or mobile applications, while Passport is suitable for scenarios where full OAuth2 functionality is required. 1. Sanctum provides token-based authentication, suitable for first-party clients; 2. Passport supports complex processes such as authorization codes and client credentials, suitable for third-party developers to access; 3. Sanctum installation and configuration are simpler and maintenance costs are low; 4. Passport functions are comprehensive but configuration is complex, suitable for platforms that require fine permission control. When selecting, you should determine whether the OAuth2 feature is required based on the project requirements.

PHP check if a string starts with a specific string PHP check if a string starts with a specific string Jul 14, 2025 am 02:44 AM

In PHP, you can use a variety of methods to determine whether a string starts with a specific string: 1. Use strncmp() to compare the first n characters. If 0 is returned, the beginning matches and is not case sensitive; 2. Use strpos() to check whether the substring position is 0, which is case sensitive. Stripos() can be used instead to achieve case insensitive; 3. You can encapsulate the startsWith() or str_starts_with() function to improve reusability; in addition, it is necessary to note that empty strings return true by default, encoding compatibility and performance differences, strncmp() is usually more efficient.

PHP prepared statement with IN clause PHP prepared statement with IN clause Jul 14, 2025 am 02:56 AM

When using PHP preprocessing statements to execute queries with IN clauses, 1. Dynamically generate placeholders according to the length of the array; 2. When using PDO, you can directly pass in the array, and use array_values to ensure continuous indexes; 3. When using mysqli, you need to construct type strings and bind parameters, pay attention to the way of expanding the array and version compatibility; 4. Avoid splicing SQL, processing empty arrays, and ensuring data types match. The specific method is: first use implode and array_fill to generate placeholders, and then bind parameters according to the extended characteristics to safely execute IN queries.

how to avoid undefined index error in PHP how to avoid undefined index error in PHP Jul 14, 2025 am 02:51 AM

There are three key ways to avoid the "undefinedindex" error: First, use isset() to check whether the array key exists and ensure that the value is not null, which is suitable for most common scenarios; second, use array_key_exists() to only determine whether the key exists, which is suitable for situations where the key does not exist and the value is null; finally, use the empty merge operator?? (PHP7) to concisely set the default value, which is recommended for modern PHP projects, and pay attention to the spelling of form field names, use extract() carefully, and check the array is not empty before traversing to further avoid risks.

How to Install PHP on Windows How to Install PHP on Windows Jul 15, 2025 am 02:46 AM

The key steps to install PHP on Windows include: 1. Download the appropriate PHP version and decompress it. It is recommended to use ThreadSafe version with Apache or NonThreadSafe version with Nginx; 2. Configure the php.ini file and rename php.ini-development or php.ini-production to php.ini; 3. Add the PHP path to the system environment variable Path for command line use; 4. Test whether PHP is installed successfully, execute php-v through the command line and run the built-in server to test the parsing capabilities; 5. If you use Apache, you need to configure P in httpd.conf

See all articles