Дублирующиеся модели во frontend и backend
Re: Дублирующиеся модели во frontend и backend
Я генерю модели в common с помощью gii. Более в них ничего не делаю. Ну может геттеры/сеттеры. Для фронтэнда и бакэнда свои модели наследую от модели в common. В процессе в этих новых моделях появляются одинаковые куски кода, которые переношу в модель из common.
Re: Дублирующиеся модели во frontend и backend
создайте новый топикandreyrud писал(а):Я генерю модели в common с помощью gii. Более в них ничего не делаю. Ну может геттеры/сеттеры. Для фронтэнда и бакэнда свои модели наследую от модели в common. В процессе в этих новых моделях появляются одинаковые куски кода, которые переношу в модель из common.
можно трейт
Re: Дублирующиеся модели во frontend и backend
кстати тут ктото приводил слова Александра, если я правильно понимаю, это @samdark, но он говорил, что не создает модели в коммон, а все чаще во фронт и бек у него разные модели
Re: Дублирующиеся модели во frontend и backend
У меня так и получается. В common тонкая и только она знает о непосредственных именах полей в базе. Остальные толстые и содержат всю логику. Таким образом, в случае изменения структуры реальной базы, мне достаточно перегенерить модель в common + немного геттеров/сеттеров исправить. Трейты не пользую - не вижу в них смысла.
Re: Дублирующиеся модели во frontend и backend
+ забываете реляции, им надо тоже модели давать на фронт ил ибек
Re: Дублирующиеся модели во frontend и backend
Если gii генерит и реляции, то они, соответственно, попадают в common модель. Их можно переопределить, но я с надобностью такой не сталкивался.
Re: Дублирующиеся модели во frontend и backend
имеем 2 модели юзер и профиль, в коммон и во фронт, не перекрывая реляции, что будет результатомandreyrud писал(а):Если gii генерит и реляции, то они, соответственно, попадают в common модель. Их можно переопределить, но я с надобностью такой не сталкивался.
Код: Выделить всё
/** @var \frontend\models\User $user */
$profile = $user->getProfile();
echo $profile instanceof \frontend\model\Profile ? 'модель из фронтенда' : 'модель которую я не жду';