An open API service indexing awesome lists of open source software.

https://github.com/tatsuukraine/bsa-2017-models


https://github.com/tatsuukraine/bsa-2017-models

Last synced: about 2 months ago
JSON representation

Awesome Lists containing this project

README

        

В папке App созданы классы User и Car которые представляют модели

В папке App/Manager созданы менеджеры, которые работают с соответствующими моделями

В папке Tests/Unit находятся тесты (CarManagerTest, UserManagerTest)

#### Задание 1
Создать миграции которые создадут таблицы Users Cars со
следующими полями

users
- first_name (string)
- last_name (string)
- is_active (bool)

cars
- color (string)
- model (string)
- registration_number (string)
- year (int)
- mileage (int)
- price (float)
- user_id (int)

user_id поле должно содержать внешний ключ на таблицу cars

Изменить классы App\Entity\User и App\Entity\Car и сделать из них Eloquent модели,
которые будут описывать соответствующие таблицы

В моделях должно быть описание relations между ними

#### Задание 2

Реализовать методы описанные в интерфейсе UserManager

**findAll** - возвращает коллекцию всех пользователей

**findById** - возвращает пользователя по ID, если пользователя с таким идентификатором не существует - возвращает NULL

**findActive** - возвращает пользователей у которые поле is_active = true

**saveUser** - создает/обновляет запись пользователя на основе объекта Request

**deleteUser** - удаляет запись поьзователя по ID из таблицы, при удалении должны также
удаляться все машины привязанные к этому пользователю

#### Задание 3

Реализовать методы описанные в интерфейсе CarManager

**findAll** - возвращает коллекцию всех машин

**findById** - возвращает машину по ID, если машины с таким идентификатором не существует - возвращает NULL

**findCarsFromActiveUsers** - возвращает машины, которые привязаны к пользователям у которых поле is_active = true

**saveCar** - создает/обновляет запись машины на основе объекта Request

**deleteCar** - удаляет запись машины по ID из таблицы