Вот мои темы add.ctp view
<?= $this->Form->create($subject) ?> <fieldset> <legend><?= __('Add Subject') ?></legend> <?php echo $this->Form->input('math'); echo $this->Form->input('english'); echo $this->Form->input('history'); echo $this->Form->input('science'); ******this field will display all the users in drop down************* from users table ?> </fieldset> <?= $this->Form->button(__('Submit')) ?> <?= $this->Form->end() ?>
**** ПользователиController.php ****
public function index() { $user= $this->set('users', $this->paginate()); $this->set('user', $user); $this->set('_serialize', ['user']); }
Как достичь этого, пожалуйста, помогите мне …
Если вы хотите, чтобы окно выбора пользователя (Dropdown) в теме add.ctp, вы должны отправить весь список пользователей из add () объекта SubjectController.
В предметах добавить метод
public function add() { //Your previous logics $this->loadModel('Users'); $users= $this->Users->find('list'); $this->set('users', $users); $this->set('_serialize', ['users']); //Your previous logics }
В вашей теме add.ctp
<?= $this->Form->create($subject) ?> <fieldset> <legend><?= __('Add Subject') ?></legend> <?php echo $this->Form->input('math'); echo $this->Form->input('english'); echo $this->Form->input('history'); echo $this->Form->input('science'); echo $this->Form->input('user_id', ['options' => $users]); ?> </fieldset> <?= $this->Form->button(__('Submit')) ?> <?= $this->Form->end() ?>
В своей UserTable (модель пользователей) добавьте / отредактируйте файл initialize () следующим образом
$this->displayField('username'); $this->primaryKey('id');
на вашем контроллере
$allUser = $this->Users->find(); // this will be get all user from user table $this->set('allUser', $allUser);
в вашем представлении
/**@var array $allUser */// already type of array <?= $this->Form->select('all_user', [ 'multiple' => true, 'value' => $allUser ]); ?>
Используйте $ this-> Form-> select () или $ this-> Form-> input ('users', ['options' => array ()]);
если вы не хотите делать цикл foreach.
пытаться:
<?= $this->Form->select('users', $users); ?>