Docker
Модель - это описание структуры данных с геттерами, сеттерами и конструктором
https://m.habr.com/ru/post/346016/ вот например, почему это не антипаттерн.
Ни в коем случае не в модель, как советовали выше в комментах. Слой сервисов как раз и существует для того, что бы всю логику писать там.
То есть оно работает быстрее чем EF Core?
Лучше сначала хорошо понять PHPUnit, а потом учить Codeception.
ну и будут поля пустые, кроме id
А потом внезапно понадобиться куда-нибудь передавать заполненый класс Record со всеми его вложенными товарищами и тогда привет рефакторинг или метод на сто-пятьсот аргументов или новый класс?
Если второе, то конечно выбираете вариант 2. Какой вам толк от одного id-шника? А если вам куда-то передавать надо будет Record, то ещё и отдельно его User будете тащить?
А код свой он запускать как будет?
Настраивать окружение нужно уметь. Бегать показывать новому разработчику как docker exec сделать - смешно же. Это учится за пол часа чтения документации. Хотя в целом тут больше речь про знание конкретно linux.
Глубоко лезть конечно джуну не нужно, но так в списке выше половина терминов в которых "Сеньор" то разбирается один из десяти, по очень оптимистичным прикидкам.
Перейдите по ссылке выше и почитайте что такое devops.
Devops про взаимодействие разработчиков и админов, как раз если применяется devops, разработчики должны быть в курсе того как происходит деплой и поддержка инфраструктуры.
А если у вас есть "devops-инженер" который docker настравает, значит devops у вас не применяется, а "devops-инженер" это админ криво названный.