Я бы посоветовал вам добавить отдельную таблицу для доступа, чтобы у вас не было дубликатов данных или проблем со сбросом пароля.
Если вы просто хотите, чтобы все среды были связаны с проектом, вы хотите много-многоили отношение один ко многим с опорой.
public function environments()
{
return $this->belongsToMany('environment', 'environment_project');
// the first argument is the model you link to, the second the pivot table
}
модели:
Environment: id, name
Project: id, name
Environment_project:id, environment_id, project_id, access_id
Access: id, username, password
редактирование, доступ в опоре
public function environments()
{
return $this->belongsToMany('environment', 'environment_project')->withPivot('username', 'password');
//now you can do project::find(1)->environments->pivot->username
}