как вставить данные в таблицы Laravel?

Имеется таблицы:

  1. Profiles - непосредственно профиль пользователя;
  2. Languages - доступные языки в системе;
  3. Levels - доступные уровни;
  4. Language Levels - уровни знания языка;
  5. Profile Languages - взаимосвязь между пользователем языком и его уровнем.

введите сюда описание изображения

Модель Profile:

class Profile extends Model {

  /**
   * @return HasMany
   */
  public function profile_languages(): HasMany {
    return $this->hasMany(ProfileLanguage::class);
  }

  /**
   * @return HasManyThrough
   */
  public function languages(): HasManyThrough {
    return $this->HasManyThrough(LanguageLevel::class,ProfileLanguage::class,  'profile_id', 'id', 'id', 'language_level_id');
  }

}

Модель LanguageLevel

class LanguageLevel extends Model {

  /**
   * @return HasOne
   */
  public function language(): HasOne{
    return $this->HasOne(Language::class, 'id', 'language_id');
  }

  /**
   * @return HasOne
   */
  public function level(): HasOne{
    return $this->HasOne(Level::class, 'id', 'level_id');
  }

}

Далее я в контроллере получаю id profile , id language, id level

//id language,id level это массив так как языков может быть много

$language_level = 
                [
                   ['language_id' => '1', 'level_id' => '1'],
                   ['language_id' => '2', 'level_id' => '5'],
                   ['language_id' => '3', 'level_id' => '4']
                ];

Как эти все полученные данные сохранить в нужных таблицах правильно?

Спасибо


Ответы (0 шт):