データベース移行は、データベースの バージョン管理のようなものです。
これにより、チームはアプリケーションの データベース構造を簡単に変更して共有できます
php artisan make:migration create_users_table --create=users php artisan make:migration add_votes_to_users_table --table=users //添加字段
新しい移行ファイルは database/migrations# に配置されます# # ディレクトリ。各移行ファイルの名前には、
Laravel が移行の順序を確認できるようにするための タイムスタンプ が含まれています。
--table および
--create オプションを使用して、データ テーブルの名前、または移行の実行時に新しいデータ テーブルを作成するかどうかを指定できます。 。
up と
down という 2 つのメソッドが含まれます。
up メソッドは新しいデータ テーブル、フィールド、またはインデックスをデータベースに追加できますが、
down メソッドは
up メソッドの逆の操作です。これら 2 つの方法で
Laravel データベース構造ジェネレーターを使用して、データ テーブルを作成および変更できます。
/** * 运行数据库迁移 * * @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'); }
https://laravel-china.org/doc...1.3 移行の実行
1.4 移行のロールバック
コマンドを使用できます。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">php artisan migrate:rollback
php artisan migrate:rollback --step=5 //回滚迁移的个数
php artisan migrate:reset //回滚应用程序中的所有迁移
php artisan migrate:refresh // 命令不仅会回滚数据库的所有迁移还会接着运行 migrate 命令
php artisan migrate //恢复</pre><div class="contentsignin">ログイン後にコピー</div></div>
1.5 Seeder メソッドを使用してデータをデータベース
php artisan make:seeder UsersTableSeeder
/** * 运行数据库填充 * * @return void */ public function run() { DB::table('users')->insert([ 'name' => str_random(10), 'email' => str_random(10).'@gmail.com', 'password' => bcrypt('secret'), ]); }
モデル ファクトリ クラスを使用してバッチでデータをテストする
php artisan make:factory PostFactory -m Post // -m 表示绑定的model
#1.5.3 他のシーダーを呼び出す
クラスでは、call
メソッドを使用して他の seed
クラスを実行できます。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$this->call([
UsersTableSeeder::class,
PostsTableSeeder::class,
CommentsTableSeeder::class,
]);
}</pre><div class="contentsignin">ログイン後にコピー</div></div>
1.5.4 Seeders の実行
コマンドは DatabaseSeeder
クラスを実行します。このクラスは、次の呼び出しに使用できます。他の シード
クラス。ただし、--class
オプションを使用して、特定の seeder
クラスを指定することもできます。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">php artisan db:seed
php artisan db:seed --class=UsersTableSeeder</pre><div class="contentsignin">ログイン後にコピー</div></div>
も使用できます。コマンドを使用してデータベースにデータを追加します。これにより、すべての移行がロールバックされ、再実行されます。このコマンドを使用してデータベースを再構築できます: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">php artisan migrate:refresh --seed</pre><div class="contentsignin">ログイン後にコピー</div></div>
2. モデル
php artisan make:model Models/Goods php artisan make:model Models/Goods -m //同时生成对应的migration文件
#3. ルーティング
ルートをバッチで作成: (リソース ルーティング)php artisan make:controller UserController --resource Route::resource('user', 'UserController'); //批量一次性定义`7`个路由
独自のフィールドに基づく詳細を取得するための値。SEO に有益です。
Laravel 5.5 Nginx 設定: root /example.com/public;
try_files $uri $uri/ /index.php?$query_string; }
4. 確認
#
php artisan make:request StoreBlogPost
1. find と get
find: 主キーを介して指定されたデータを返します$result = Student::find(1001);
DB::table("表名")->get(); DB::table("表名")->where(条件)->get();
创建Model类型,方法里面声明两个受保护属性:$table(表名)和$primaryKey(主键)
<?php namespace App; use Illuminate\Database\Eloquent\Model; class Student extends Model{ protected $table = 'student'; protected $primaryKey = 'id'; }
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
以上がLaravel の基本的な移行の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。