Я только начал использовать CakePHP, и у меня есть вопрос. Я создаю своего рода систему диспетчера задач.
У меня есть таблица «Задачи», и в этой таблице есть поле user_id
для назначения задачи пользователю.
Когда я запекла приложение, сгенерированная форма имеет user_id
, который автоматически связывался с таблицей users
, но я хочу показать username
пользователя вместо user_id
- как мне поступить? делать это?
Кроме того, мне нужно, чтобы при сохранении формы она сохраняла user_id
в поле, а не username
- поэтому для простоты использования необходимо отобразить username
, но сохранить user_id
.
Я все еще новичок во всей этой Модели и Контроллере, поэтому я не уверен, как мне удастся это сделать. Благодаря.
Обновление:
Вот где я сейчас нахожусь. В моей работе add.ctp
я добавил этот код, чтобы помочь сгенерировать поле формы:
foreach ($users as $user):
$options_array[$user['id']] = $user['username'];
endforeach;
print_r($options_array);
echo $this->Form->input('user_id', $options_array);
К сожалению, print_r
дает мне:
Array ( [2] => 2 )
А не желаемый вывод:
Array ( [2] => Dan )
$users
определяется в job_controller.php
следующим образом:
$users = $this->Job->User->find('list');
$clients = $this->Job->Client->find('list');
$stages = $this->Job->Stage->find('list');
$this->set(compact('users', 'clients', 'stages'));
Я не уверен, что я делаю здесь не так.
Dan