Именование взаимосвязанных таблиц и моделей (Laravel)

Допустим, есть таблицы две пары связанных таблиц:

  • posts - посты
  • statuses - статусы публикаций (черновик, опубликовано и т.д.)
  • users - пользователи системы (ФИО)
  • statuses - статусы пользователей (админ, редактор, модератор)

Возникает несколько вопросов:

  1. Как правильно именовать таблицы и модели? Верен ли такой вариант: posts | post_statuses | users | user_statuses + модели: Post | PostStatus | User | UserStatus
  2. В случае, когда есть связующая таблица между users и user_statuses (многие-ко-многим), то как будет называться таблица и её модель? user_status и UserStatus или же user_user_status и UserUserStatus ?

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

Автор решения: Stanislav

Уже придумали Лучшие практики для Laravel.

Немного примеров:

+-----------------+-------------+---------------------+--------------------+  
|  Что            | Правило     | Принято             | Не принято         |
+-----------------+-------------+---------------------+--------------------+  
| Контроллер      | ед. ч.      | ArticleController   | ArticlesController |
+-----------------+-------------+---------------------+--------------------+  
| Маршруты        | мн. ч.      | articles/1          | article/1          |
+-----------------+-------------+---------------------+--------------------+
| Модель          | ед. ч.      | User                | Users              |
+-----------------+-------------+---------------------+--------------------+
| Отношения hasOne| ед. ч.      | articleComment      | articleComments,   |
| и belongsTo     |             |                     | article_comment    | 
+-----------------+-------------+---------------------+--------------------+
| Таблица         | мн. ч.      | article_comments    | article_comment    |
+-----------------+-------------+---------------------+--------------------+
→ Ссылка