$result = Student::find(1001);
Laravel の基本的な移行の分析
1. 移行では、データ テーブルが作成され、Seeder データベースにデータが設定されます。
データベース移行は、データベースの バージョン管理のようなものです。
これにより、チームはアプリケーションの データベース構造を簡単に変更して共有できます
1.1 移行の作成
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');
}
ログイン後にコピー
1.2.2 テーブルにフィールドを追加
/** * 运行数据库迁移 * * @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 移行の実行
すべての未処理の移行の実行:
php 職人移行1.4 移行のロールバック
最後の移行をロールバックするには、
rollback コマンドを使用できます。 <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 メソッドを使用してデータをデータベース
1.5.1 シーダーの作成
php artisan make:seeder UsersTableSeeder
1.5.2 データベースの充填
/** * 运行数据库填充 * * @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 他のシーダーを呼び出す
DatabaseSeeder 内
クラスでは、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 の実行
デフォルトでは、
db:seed コマンドは 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`个路由
ログイン後にコピー
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; }
location = /favicon.ico { access_log オフ; log_not_found オフ; }
location = /robots.txt { access_log オフ; log_not_found オフ; }
4. 確認
#
php artisan make:request StoreBlogPost

#相違点と注意事項
1. find と get
$result = Student::find(1001);
ログイン後にコピー
get - 複数のデータ結果をクエリします$result = Student::find(1001);
DB::table("表名")->get();
DB::table("表名")->where(条件)->get();
ログイン後にコピー
2.模型与数据表的绑定
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 サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Laravelの電子メールの送信が失敗したときに戻りコードを取得する方法。 Laravelを使用してアプリケーションを開発する場合、検証コードを送信する必要がある状況に遭遇することがよくあります。そして実際には...

LaravelスケジュールタスクRAN RANSPONSIVEトラブルシューティングRALAVELのスケジュールタスクスケジューリングを使用すると、多くの開発者がこの問題に遭遇します。スケジュール:実行...

Laravelの電子メールの検証コードの送信の障害を処理する方法は、Laravelを使用することです...

DCATを使用するときにDCATADMIN(Laravel-Admin)にデータを追加するためにカスタムクリックのテーブル関数を実装する方法...

Laravel FrameworkでRedis接続の共有の影響とLaravelフレームワークとRedisを使用する際のメソッドを選択すると、開発者は問題に遭遇する可能性があります。

Laravel Multi-Tenant拡張機能パッケージStancl/Tenancyのカスタムテナントデータベース接続Laravel Multi-Tenant ExtensionパッケージStancl/Tenancyを使用したマルチテナントアプリケーションを構築する際の...

LaravelEloquentモデルの検索:データベースデータを簡単に取得するEloquentormは、データベースを操作するための簡潔で理解しやすい方法を提供します。この記事では、さまざまな雄弁なモデル検索手法を詳細に紹介して、データベースからのデータを効率的に取得するのに役立ちます。 1.すべてのレコードを取得します。 ALL()メソッドを使用して、データベーステーブルですべてのレコードを取得します:useapp \ models \ post; $ post = post :: all();これにより、コレクションが返されます。 Foreach Loopまたはその他の収集方法を使用してデータにアクセスできます。

上海ジョトン大学、上海アイラブ、および香港中国大学の研究者は、Visual Language Big Model(LVLM)のパフォーマンスを大幅に改善するために少量のデータのみを必要とする視覚RFT(視覚エンハンスメントファインチューニング)オープンソースプロジェクトを開始しました。 Visual-RFTは、DeepSeek-R1のルールベースの強化学習アプローチとOpenAIの強化微調整(RFT)パラダイムを巧みに組み合わせて、このアプローチをテキストフィールドから視野に拡張しました。視覚的サブカテゴリ化やオブジェクト検出などのタスクの対応するルール報酬を設計することにより、Visual-RFTは、テキスト、数学的推論、その他のフィールドに限定されているDeepSeek-R1メソッドの制限を克服し、LVLMトレーニングの新しい方法を提供します。 Vis
