Heim > Backend-Entwicklung > PHP-Tutorial > Analyse der grundlegenden Migrationen von Laravel

Analyse der grundlegenden Migrationen von Laravel

不言
Freigeben: 2023-04-02 22:02:01
Original
2967 Leute haben es durchsucht

1. Die Migration erstellt Datentabellen und füllt Daten in der Seeder-Datenbank

Datenbankmigration ist wie eine Datenbank 版本控制, sodass Ihr Team sie einfach ändern kann Teilen Sie die Datenbankstruktur der Anwendung

1.1 Erstellen Sie eine Migration

php artisan make:migration create_users_table --create=users

php artisan make:migration add_votes_to_users_table --table=users //添加字段
Nach dem Login kopieren

Die neue Migrationsdatei wird im Verzeichnis database/migrations abgelegt. Der Name jeder Migrationsdatei enthält einen Zeitstempel , damit Laravel die Reihenfolge der Migrationen bestätigen kann.
Mit den Optionen --table und --create können Sie den Namen der Datentabelle angeben oder angeben, ob beim Ausführen der Migration eine neue Datentabelle erstellt wird.

1.2 Migrationsstruktur

Migrationsklassen enthalten normalerweise zwei Methoden: up und down. Die up-Methode kann der Datenbank eine neue Datentabelle, ein neues Feld oder einen neuen Index hinzufügen, während die down-Methode die umgekehrte Operation der up-Methode ist. Sie können den Datenbankstrukturgenerator Laravel in diesen beiden Methoden verwenden, um Datentabellen zu erstellen und zu ändern.

1.2.1 Eine Datentabelle erstellen

/**
     * 运行数据库迁移
     *
     * @return void
     */
    public function up()
    {
        Schema::create('flights', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name')->comment('字段注解');
            $table->string('airline')->comment('字段注解');
            $table->timestamps();
        });
    }

    /**
     * 回滚数据库迁移
     *
     * @return void
     */
    public function down()
    {
        Schema::drop('flights');
    }
Nach dem Login kopieren

1.2.2 Felder zur Tabelle hinzufügen

Analyse der grundlegenden Migrationen von Laravel

Datentabelle, Feld , Index:https://laravel-china.org/doc...

1.3 Migrationen ausführen

Alle ausstehenden Migrationen ausführen:php artisan migrate

1.4 Rollback-Migration

Um die letzte Migration rückgängig zu machen, können Sie den rollback Befehl verwenden:

php artisan migrate:rollback
php artisan migrate:rollback --step=5 //回滚迁移的个数
php artisan migrate:reset //回滚应用程序中的所有迁移
php artisan migrate:refresh // 命令不仅会回滚数据库的所有迁移还会接着运行 migrate 命令
php artisan migrate  //恢复
Nach dem Login kopieren

1.5 Verwenden Sie die Seeder-Methode, um Daten in die Datenbank zu füllen

1.5. 1 Seeders schreiben

php artisan make:seeder UsersTableSeeder
Nach dem Login kopieren

1.5.2 Datenbankfüllung

 /**
     * 运行数据库填充
     *
     * @return void
     */
    public function run()
    {
        DB::table('users')->insert([
            'name' => str_random(10),
            'email' => str_random(10).'@gmail.com',
            'password' => bcrypt('secret'),
        ]);
    }
Nach dem Login kopieren

Analyse der grundlegenden Migrationen von Laravel

Verwenden Sie die Model Factory-Klasse, um Testdaten in Stapeln zu erstellen

php artisan make:factory PostFactory -m Post // -m 表示绑定的model
Nach dem Login kopieren

Analyse der grundlegenden Migrationen von Laravel

Analyse der grundlegenden Migrationen von Laravel

1.5.3 Aufrufen anderer Seeder

In der Klasse DatabaseSeeder können Sie die Methode call verwenden um andere seed Klassen auszuführen.

/**
 * Run the database seeds.
 *
 * @return void
 */
public function run()
{
    $this->call([
        UsersTableSeeder::class,
        PostsTableSeeder::class,
        CommentsTableSeeder::class,
    ]);
}
Nach dem Login kopieren

1.5.4 Ausführen von Seedern

Standardmäßig führt der Befehl db:seed die Klasse DatabaseSeeder aus, die zum Aufrufen anderer Seed-Klassen verwendet werden kann. Sie können jedoch auch die Option --class verwenden, um eine bestimmte seeder-Klasse anzugeben:

php artisan db:seed

php artisan db:seed --class=UsersTableSeeder
Nach dem Login kopieren

Sie können auch den Befehl migrate:refresh verwenden, um die Datenbank zu füllen, wodurch alle Migrationen zurückgesetzt und erneut ausgeführt werden. Mit diesem Befehl kann die Datenbank neu erstellt werden:

php artisan migrate:refresh --seed
Nach dem Login kopieren

2. Modell

Erstellen Sie ein Modell:

php artisan make:model Models/Goods
php artisan make:model Models/Goods -m  //同时生成对应的migration文件
Nach dem Login kopieren

Analyse der grundlegenden Migrationen von Laravel

Analyse der grundlegenden Migrationen von Laravel

Analyse der grundlegenden Migrationen von Laravel

Analyse der grundlegenden Migrationen von Laravel

3. Routen in Stapeln erstellen: (Ressourcenrouting)

php artisan make:controller UserController --resource
Route::resource('user', 'UserController'); //批量一次性定义`7`个路由
Nach dem Login kopieren

Nach eindeutigem Feldwert, der für SEO von Vorteil ist

>location = /favicon.ico { access_log off; log_not_found off } location = /robots.txt { access_log off;
4. VerifizierungAnalyse der grundlegenden Migrationen von Laravel

4.1 Schnellverifizierung



4.2 Verifizierung der Formularanfrage

    try_files $uri $uri/ /index.php?$query_string;
}
Nach dem Login kopieren

Unterschiede und Hinweise

1. Suchen und AbrufenAnalyse der grundlegenden Migrationen von Laravel

Suchen: Gibt die angegebenen Daten über den Primärschlüssel zurück

php artisan make:request StoreBlogPost
Nach dem Login kopieren

get - Mehrere Datenergebnisse abfragen

DB::table("表名")->get();
DB::table("表名")->where(条件)->get();
Nach dem Login kopieren

2.模型与数据表的绑定

创建Model类型,方法里面声明两个受保护属性:$table(表名)和$primaryKey(主键)

<?php namespace App;   
use Illuminate\Database\Eloquent\Model;
class Student extends Model{
    protected $table = &#39;student&#39;;
    protected $primaryKey = &#39;id&#39;;
}
Nach dem Login kopieren

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

Das obige ist der detaillierte Inhalt vonAnalyse der grundlegenden Migrationen von Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage