Я создаю приложение, в котором в аккаунте может быть много сервисов, вся информация связана с сервисом. Например:
У учетной записи A есть 3 службы, и у каждой службы есть страницы.
Во избежание того, чтобы кто-то изменил service_id при сохранении страницы, на данный момент я делаю:
if(Yii::$app->request->isPost) {
$post = Yii::$app->request->post();
$model->load($post);
$model->service_id = $this->service->id;
}
Где $ model-> service_id = $ this-> service-> id помогает мне назначить выбранный service_id после загрузки таблицы в модель и избежать того, чтобы кто-то отправлял service_id из формы.
Но если в будущем кто-то разработает «документы», я бы хотел, чтобы разработчик не обрабатывал этот service_id для всех запросов.
Итак, сначала я подумал, что смогу попробовать:
public function beforeFind($queryData) {
parent::beforeFind();
$queryData['conditions'] = array('service_id' => 2);
return $queryData;
}
Но разработчик все еще нуждается в его реализации. Так что, может быть, есть способ создать модель «BaseService», из которой должны расширяться все другие модели, связанные со службами, но не знаете, как:
- Добавить условие из родительской модели?
- Как передать идентификатор этой модели, чтобы он сохранялся во всех запросах?
Может быть, есть простое решение, и я слишком усложняюсь из-за долгих часов работы, не уверен.