Laravel | Todo | モデルの作成

ホーム  

概要

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


データ構造の作成

  1. データ構造を作っていきます。database / migrations の実際の日付がついた _create_tasks_table.php を開いて、up メソッドに、$table->string('body'); を書き足します。一般的に本文は body という名前を付けます。1行の文字列は string、複数行の文字列は text と指定します。

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


初期データの設定

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

  1. ターミナルもしくはコマンドプロンプトを開いて、次のようにコマンドします。
    php artisan tinker
    
    >  // プロンプトが変わります
    
    # データを挿入する
    App\Models\Task::create(['body' => 'Task 1']);
    
    # 次のように表示されれば OK です
    = App\Models\Task {#6197
        body: "Task 1",
        updated_at: "2025-07-24 09:43:36",
        created_at: "2025-07-24 09:43:36",
        id: 1,
      }
    
    # 続けてデータを挿入します
    App\Models\Task::create(['body' => 'Task 2']);
    
    # 続けてデータを挿入します
    App\Models\Task::create(['body' => 'Task 3']);
    
    # tinker を終了する
    exit
    
  2. もし Tinker でエラーがでるようでしたら、一度 exit で Tinker を終了して、php artisan tinker で もう一度入りなおしてみてください。



1120 visits
Posted: Jul. 24, 2025
Update: Jul. 24, 2025

ホーム   目次