class ReserveManagement extends Model
{
protected $table = 'reserve_managements';
public function reserveDayLists()
{
return $this->belongsToMany('App\Model\ReserveDayList');
}
}
class ReserveDayList extends Model
{
protected $table = 'reserve_day_lists';
public function reserveManagements()
{
return $this->belongsToMany('App\Model\ReserveManagement');
}
}
これで、各モデルから連携先のモデルを直接参照することができます。
最後にリポジトリの修正を行います。
public function add($param)
{
$model = new ReserveManagement;
foreach($this->paramNames as $name)
{
$model->$name = $param[$name];
}
$model->save();
$model2 = new ReserveDayList();
$model2->day = $model->start_day;
$model2->save();
$model->reserveDayLists()->attach($model2);
for($i = 1; $i < $model->days; $i++)
{
$model2 = new ReserveDayList();
$model2->day = date('Y-m-d', strtotime($model->start_day.'+'.$i.' day'));
$model2->save();
$model->reserveDayLists()->attach($model2);
}
}