J'ai les 3 modèles suivants:Laravel 5.2 - Un à plusieurs ou plusieurs à plusieurs relation?
class Job extends Model {
public function jobShortlists()
{
return $this->hasMany('App\JobShortlist');
}
}
class Jobseeker extends Model {
public function jobShortlists()
{
return $this->hasMany('App\JobShortlist');
}
}
class JobShortlist extends Model {
public function jobseeker()
{
return $this->belongsTo('App\Jobseeker');
}
public function job()
{
return $this->belongsTo('App\Job');
}
}
Et les migrations:
Schema::create('jobs', function(Blueprint $table)
{
$table->increments('id');
$table->string('job_title', 100);
...
});
Schema::create('jobseekers', function(Blueprint $table)
{
$table->increments('id');
$table->string('name', 100);
...
});
Schema::create('job_shortlists', function(Blueprint $table)
{
$table->increments('id');
$table->integer('jobseeker_id')->unsigned();
$table->integer('job_id')->unsigned()->unique();
$table->unique(array('jobseeker_id', 'job_id'));
$table->foreign('jobseeker_id')
->references('id')
->on('jobseekers')
->onDelete('cascade');
$table->foreign('job_id')
->references('id')
->on('jobs')
->onDelete('cascade');
});
Un demandeur d'emploi peut ajouter plusieurs emplois à une liste restreinte. Quel type de relation est-ce entre les 3 tables - est-ce un à plusieurs ou plusieurs à plusieurs? Quelles sont les relations correctes qui devraient être définies dans les trois modèles?