Я использую Symfony 1.4 и Doctrine 1.2 и sfDoctrineGuardPlugin.У меня есть страница создания статьи.В моей таблице статей у меня есть поле profile_id для сохранения, какой пользователь (автор) написал это.
Моя проблема в том, что когда пользователь пишет статью и щелкает, чтобы сохранить, даже если я могу получить profile_id от пользователя, я не могу автоматически установить profile_id.
В моем классе articleForm я могу установитьзначение по умолчанию для поля выбора, но пользователь может изменить его.Если я пытаюсь сделать это только для чтения, profile_id не может быть сохранен на БД.
Вот моя функция настройки из класса articleForm:
// getting user_id
$user = sfContext::getInstance()->getUser();
$user_id = $user->getGuardUser()->getId();</p>
<pre><code>// converting for profile table
$converter = Doctrine_Query::create()
->select('*')
->from('profile')
->where('sf_guard_user_id = ?', $user_id);
// fetching
$result = $converter->fetchArray();
$this->widgetSchema->setDefault('profile_id', $result[0]['id']);
Чтобы сделать ее только для чтения, я использовал:
$this->offsetUnset("profile_id");
Но, как я уже говорил, таким образом, profile_id не может быть сохранен в БД.Без второй части кода текущий идентификатор стал стандартным, но пользователи могут изменить его.
Как решить эту проблему?Любая идея?Большое спасибо ...