Переопределить поле таблицы

Можно ли как-то переопределить не таблицу, а поле таблицы? Вероятно я я не правильно формулирую, но для примера: в конфиге сайта, я могу с помощью префикса указать таблицу базы из которой(в которую) и будут читаться(записываться) данные:
$config['db']['table']['myprefix'] = 'prefix_';
$config['db']['table']['user']                = '___db.table.myprefix___user';

Можно ли как-то так же не хитро (не обязательно в конфиге) поступать с отдельными полями таблиц?

10 комментариев

avatar
нет, поле принадлежит таблице
avatar
Хорошо, а какой бы вы путь посоветовали для решения такой задачи. У меня два сайта, которые я бы хотел синхронизировать только на уровне пользователей. Таблица _user содержит необходимые мне поля Id, Login, и e-mail (вероятно ещё какие-то я на память пишу), остальные данные по разным сайтам мне нужны разные, т.е. относящиеся только к своему сайту — это путь к аватару, фотографии, сведения об активировании пользователя. Каой путь для решения может быть самым «прямым»?
avatar
при регистрации на каждом сайте/обновлении мейла (в лс) перекрестно синхронизировать (копировать/обновлять) данные во все связанные таблицы других сайтов.
avatar
Если такой хук сделать, то это правильно будет? Ну, т.е. идея, что после события регистрации, я запускаю новую процедуру? Правда наугад пишу, не очень понимаю, как получить нового юзера, предполагаю, что из параметра функции

	public function RegisterHook(){
		$this->AddHook('registration_after','ThirdUser',__CLASS__,1000);
	}

	public function ThirdUser($aVars)
    {
	$oUserThird = $aVars['oUser'];
	        if (!$oUserThird) {
            return;
        }
	//Тут как-то запускаю создание юзера на другом сайте	
	}
avatar
какие поля должны быть заполнены в другой бд и таблице?
avatar
ID, email и login — такие же, остальные в зависимости от настроек сайта-приёмника.
avatar
на двух сайтах должны быть «чистые» таблицы пользователей чтобы ид совпадали, если на сайтах уже были регистрации, то нужно промежуточная таблица связей ид, либо взять число ид выше последних в каждой из таблиц.
avatar
Это понятно, это вообще не проблема, т.к. один из сайтов абсолютно новый, за основу будут взяты таблицы из старого.
avatar
Кстати, если позволите, то я уточню (это не к задаче). Я правильно понимаю, что событие registration_after наступает ещё до активации пользователя в случае если на сайте установлен режим активации? Если так, то мне кажется, что это ошибочная логика или нужно ещё одно событие после активации.
avatar
Я правильно понимаю, что событие registration_after наступает ещё до активации пользователя в случае если на сайте установлен режим активации?
да
в таком случае нужно наледовать метод protected function EventActivate() из экшена регистрации вместо хука
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.