Есть таблицы:
- movies
- genres
- genres_movies
Для каждой таблицы соответственно создана модель:
class Movie extends Model
{
use HasFactory, Filterable;
public function genres(): BelongsToMany
{
return $this->belongsToMany(Genre::class)->using(GenreMovie::class);
}
}
class Genre extends Model
{
use HasFactory;
}
class GenreMovie extends Pivot
{
public $incrementing = true;
protected $table = 'genres_movies';
}
Почему появляется ошибка
Illuminate\Database\QueryException: SQLSTATE[42P01]: Undefined table: 7 ERROR: relation "genre_movie" does not exist
когда выполняется такой код:
public function index(): \Illuminate\Support\Collection
{
return Movie::latest()->with('genres')->get();
}
Делал по
доке. В моем понимании при использовании using информация о промежуточной таблице должна браться из ее модели, а не из аргумента belongsToMany. Так ли это?