В чем разница между определением отношения между двумя таблицами в двух моделях и определением его в соответствующем файле миграции?
Например, я хочу, чтобы между таблицей cars
и таблицей persons
.
было многозначное отношение.
Вариант 1: я определяю соотношение в моделях
Модель:
class Person extends Model
{
public function cars()
{
return $this->hasMany('App\Car');
}
}
Модель автомобиля:
class Car extends Model
{
public function persons()
{
return $this->belongsToMany('App\Person');
}
}
Вариант 2: я определяю отношение в миграции
class CreateCarsTable extends Migration
{
public function up()
{
Schema::create('cars', function (Blueprint $table) {
$table->increments('id');
$table->integer('person_id')->references('id')->on('person');
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('cars');
}
}
Спасибо за вашу помощь.