Inhaltsverzeichnis
1. Die Migration erstellt Datentabellen und füllt Daten in der Seeder-Datenbank
1.1 Erstellen Sie eine Migration
1.2 Migrationsstruktur
1.2.1 Eine Datentabelle erstellen
1.2.2 Felder zur Tabelle hinzufügen
1.3 Migrationen ausführen
1.4 Rollback-Migration
1.5 Verwenden Sie die Seeder-Methode, um Daten in die Datenbank zu füllen
1.5. 1 Seeders schreiben
1.5.2 Datenbankfüllung
1.5.3 Aufrufen anderer Seeder
1.5.4 Ausführen von Seedern
2. Modell
3. Routen in Stapeln erstellen: (Ressourcenrouting)
Unterschiede und Hinweise
php artisan make:request StoreBlogPost
Nach dem Login kopieren
" >
php artisan make:request StoreBlogPost
Nach dem Login kopieren
2.模型与数据表的绑定
Heim Backend-Entwicklung PHP-Tutorial Analyse der grundlegenden Migrationen von Laravel

Analyse der grundlegenden Migrationen von Laravel

Jul 10, 2018 pm 01:49 PM
laravel migration 模型 路由

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!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie bekomme ich den Rückgabecode, wenn das Senden von E -Mails in Laravel fehlschlägt? Wie bekomme ich den Rückgabecode, wenn das Senden von E -Mails in Laravel fehlschlägt? Apr 01, 2025 pm 02:45 PM

Methode zum Abholen des Rücksendecode, wenn das Senden von Laravel -E -Mails fehlschlägt. Wenn Sie Laravel zur Entwicklung von Anwendungen verwenden, stellen Sie häufig Situationen auf, in denen Sie Überprüfungscodes senden müssen. Und in Wirklichkeit ...

Laravel -Zeitplanaufgabe wird nicht ausgeführt: Was soll ich tun, wenn die Aufgabe nicht nach Zeitplan ausgeführt wird: Befehl ausführen? Laravel -Zeitplanaufgabe wird nicht ausgeführt: Was soll ich tun, wenn die Aufgabe nicht nach Zeitplan ausgeführt wird: Befehl ausführen? Mar 31, 2025 pm 11:24 PM

Laravel -Zeitplan -Aufgabe Ausführen nicht reagierende Fehlerbehebung Bei Verwendung der Zeitplanung von Laravel -Zeitplänen werden viele Entwickler auf dieses Problem stoßen: Zeitplan: Run ...

Wie kann man in Laravel mit der Situation umgehen, in der Überprüfungscodes nicht per E -Mail gesendet werden? Wie kann man in Laravel mit der Situation umgehen, in der Überprüfungscodes nicht per E -Mail gesendet werden? Mar 31, 2025 pm 11:48 PM

Die Methode zum Umgang mit Laravels E -Mail -Versagen zum Senden von Verifizierungscode besteht darin, Laravel zu verwenden ...

So implementieren Sie die benutzerdefinierte Tabellenfunktion des Klickens, um Daten im DCAT -Administrator hinzuzufügen? So implementieren Sie die benutzerdefinierte Tabellenfunktion des Klickens, um Daten im DCAT -Administrator hinzuzufügen? Apr 01, 2025 am 07:09 AM

So implementieren Sie die Tabellenfunktion von benutzerdefiniertem Klicken, um Daten in dcatadmin (laravel-admin) hinzuzufügen, wenn Sie DCAT verwenden ...

Laravel Redis -Verbindungsfreigabe: Warum wirkt sich die Auswahlmethode auf andere Verbindungen aus? Laravel Redis -Verbindungsfreigabe: Warum wirkt sich die Auswahlmethode auf andere Verbindungen aus? Apr 01, 2025 am 07:45 AM

Die Auswirkungen des Austauschs von Redis -Verbindungen im Laravel -Framework und der Auswahl von Methoden bei Verwendung von Laravel -Framework und Redis können Entwickler auf ein Problem stoßen: Durch Konfiguration ...

Laravel Multi-Tenant-Erweiterungsstanz/Mietverhältnis: Wie passen Sie die Host-Adresse einer Mieterdatenbankverbindung an? Laravel Multi-Tenant-Erweiterungsstanz/Mietverhältnis: Wie passen Sie die Host-Adresse einer Mieterdatenbankverbindung an? Apr 01, 2025 am 09:09 AM

Benutzerdefinierte Mieterdatenbankverbindung in Laravel Multi-Tenant-Erweiterungspaket Stanz/Mietverhältnis beim Erstellen von Multi-Mandanten-Anwendungen mit Laravel Multi-Tenant-Erweiterungspaket Stanz/Mietverhältnis, ...

Laravel eloquent orm bei bangla partieller Modellsuche) Laravel eloquent orm bei bangla partieller Modellsuche) Apr 08, 2025 pm 02:06 PM

Laraveleloquent-Modellab Abruf: Das Erhalten von Datenbankdaten Eloquentorm bietet eine prägnante und leicht verständliche Möglichkeit, die Datenbank zu bedienen. In diesem Artikel werden verschiedene eloquente Modellsuchtechniken im Detail eingeführt, um Daten aus der Datenbank effizient zu erhalten. 1. Holen Sie sich alle Aufzeichnungen. Verwenden Sie die Methode All (), um alle Datensätze in der Datenbanktabelle zu erhalten: UseApp \ Models \ post; $ posts = post :: all (); Dies wird eine Sammlung zurückgeben. Sie können mit der Foreach-Schleife oder anderen Sammelmethoden auf Daten zugreifen: foreach ($ postas $ post) {echo $ post->

Das Geheimnis hinter O1/Deepseek-R1 kann auch in multimodalen großen Modellen verwendet werden Das Geheimnis hinter O1/Deepseek-R1 kann auch in multimodalen großen Modellen verwendet werden Mar 12, 2025 pm 01:03 PM

Forscher der Shanghai Jiaotong University, Shanghai Ailab und der chinesischen Universität von Hongkong haben das Open-Source-Projekt zur Visual-RFT (visuelle Verbesserung der Feinabstimmung) gestartet, für das nur eine geringe Datenmenge erforderlich ist, um die Leistung des visuellen Sprachen-Big-Modells (LVLM) signifikant zu verbessern. Visual-RFT kombiniert geschickt die regelbasierte Verstärkungslernansatz von Deepseek-R1 mit dem RFT-Paradigma (Verstärkung der Verstärkung der Verstärkung) und erweitert diesen Ansatz erfolgreich vom Textfeld auf das Gesichtsfeld. Durch die Gestaltung der entsprechenden Regelprämien für Aufgaben wie die visuelle Unterkategorisierung und Objekterkennung überwindet die visuelle RFT die Einschränkungen der Deepseek-R1-Methode, die auf Text, mathematisches Denken und andere Bereiche beschränkt ist und eine neue Möglichkeit für das LVLM-Training bietet. Vis

See all articles