Laravel | Ledger | モデルの作成

ホーム  

概要

このページは2025年8月3日14時50分に書き換えました。データが一つ増えています。

今回は、Ledger にデータ構造を作り、初期データを設定します。データベースとして SQLite を使います。 Laravel の初期設定では、データベースは SQLite になっています。


データ構造の作成

  1. データ構造を作っていきます。database / migrations の実際の日付がついた _create_n_l_s_table.php を開いて、up メソッドに、次のように書き足します。

    
    public function up(): void
        {
            Schema::create('n_l_s', function (Blueprint $table) {
                $table->id();
                // ここから
                $table->string('name');
                $table->date('birth');
                $table->boolean('gender');
                $table->integer('year');
                $table->string('cls');
                $table->string('favo');
                $table->integer('grades');
                $table->text('addr');
                // ここまで追加
                $table->timestamps();
            });
        }
    
  2. ターミナルもしくはコマンドプロンプトを開いて、次のようにコマンドします。
    php artisan migrate
    
    # 次のように表示されれば OK です
    2025_08_02_090946_create_n_l_s_table .................................. 11.71ms DONE
    
  3. データベースにアクセスできるようにします。app / Models / NL.php を開いて次のようにコーディングしてください。
    <?php
    
    namespace App\Models;
    
    use Illuminate\Database\Eloquent\Model;
    
    class NL extends Model
    {
        // ここから
        protected $fillable = [
            'name',
            'birth',
            'gender',
            'year',
            'cls',
            'favo',
            'grades',
            'addr',
        ];
        // ここまで追加
    }
    


初期データの設定

前述の作業ではデータ構造が作成されただけです。初期データを設定するには次のようにします。

  1. ターミナルもしくはコマンドプロンプトを開いて、次のようにコマンドします。
    php artisan tinker
    
    >  // プロンプトが変わります
    
    # データを挿入します
    
    App\Models\NL::create(['name'=>'佐藤明','birth'=>'2012-10-01','gender'=>true,'year'=>3,'cls'=>'A','favo'=>'体育','grades'=>95,'addr'=>'東京都渋谷区............']);
    
    # 次のように表示されれば OK です
    = App\Models\NL {#6336
        name: "佐藤明",
        birth: "2012-10-01",
        gender: true,
        year: 3,
        cls: "A",
        favo: "体育",
        grades: 95,
        addr: "東京都渋谷区............",
        updated_at: "2025-08-03 05:58:47",
        created_at: "2025-08-03 05:58:47",
        id: 1,
      }
    
    # もうひとつデータを挿入します
    
    App\Models\NL::create(['name'=>'佐藤洋子','birth'=>'2014-10-01','gender'=>false,'year'=>1,'cls'=>'C','favo'=>'数学','grades'=>80,'addr'=>'東京都渋谷区............']);
    
    # tinker を終了します
    exit
    
  2. 【注意】データ構造 (テーブル) の名前は、普通は自動的に複数形で作られます。テーブル名は次のようにして調べられます。
    php artisan migrate:status
    
      Migration name ......................................................... Batch / Status
      0001_01_01_000000_create_users_table .......................................... [1] Ran
      0001_01_01_000001_create_cache_table .......................................... [1] Ran
      0001_01_01_000002_create_jobs_table ........................................... [1] Ran
      2025_08_02_063008_create_n_l_s_table .......................................... [1] Ran 
    
    NL に対しては n_l_s という名前を自動的に作ります。今後、NL を複数形で表す場合は、n_l_s、単数形のばあいは、n_l_ になります。



1095 visits
Posted: Aug. 02, 2025
Update: Aug. 02, 2025

ホーム   目次