laravelのリレーション定義で以下のエラーが出てしまいます。
Call to undefined relationship [usernames] on model [App\Models\Manga].
テーブルの外部キー制約、モデルの名前等見直しましたが原因が皆目わかりません。
mangaesテーブル
Schema::create('mangaes', function (Blueprint $table) { $table->bigIncrements('id'); $table->unsignedBigInteger('username_id'); $table->foreign('username_id')->references('id')->on('usernames'); $table->timestamps(); });
Mangaモデル
<?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; class Manga extends Model { use HasFactory; protected $table = 'mangaes'; public function username(): BelongsTo { return $this->belongsTo(Nickname::class, 'username_id'); } }
Controller(実行するコントローラー)
<?php namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use App\Models\Manga; class MangaController extends Controller { public function index() { $articles = Manga::with(['usernames'])->get(); return $articles; } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/25 10:58