Здравствуйте, у меня есть вопрос
Когда я регистрирую пользователя, я добавляю в учетную запись пользователя все его данные, в том числе имя изображения пользователя, но это имя на самом деле не сохраняется в таблице пользователей, а в другой таблице с именем images и в таблице users. Сохраняю ссылку на изображение.
Чтобы понять, я вставил следующее изображение:
![enter image description here](https://i.stack.imgur.com/KX5dJ.png)
В форме я положил:
<?= $this->Form->create($user, ['novalidate', 'id' => 'addform', 'class' => 'form addform']); ?>
<?= $this->Form->control('persona_id', ['type' => 'select', 'options' => $opciones, 'class' => 'persona-add']); ?>
<?= $this->Form->control('nombre', ['placeholder' => 'Nombre', 'class' => 'nombre-add', 'size' => '20', 'maxlength' => '30']); ?>
<?= $this->Form->control('apellido', ['placeholder' => 'apellido', 'class' => 'apellido-add', 'id' => 'apellido-add', 'size' => '20', 'maxlength' => '30']); ?>
<?= $this->Form->control('id_image', ['type' => 'file', 'class' => 'imagen-add']); ?>
<?= $this->Form->control('email', ['placeholder' => 'E-mail', 'class' => 'email-add', 'size' => '20', 'maxlength' => '30']); ?>
<?= $this->Form->control('password', ['type' => 'password', 'class' => 'password-add', 'size' => '20', 'maxlength' => '30']); ?>
<?= $this->Form->hidden('role', ['value' => 'user', 'class' => 'role-add']); ?>
<?= $this->Form->hidden('active', ['value' => '1', 'class' => 'active-add']); ?>
<?= $this->Form->hidden('creado', ['value' => $time, 'class' => 'creado-add']); ?>
<?= $this->Form->hidden('modificado', ['value' => $time, 'class' => 'modificado-add']); ?>
<div class="centrar-submit">
<?= $this->Form->button('Crear usuario', ['id' => 'submit', 'class' => 'submit-add']); ?>
В модели таблицы пользователей у меня следующее соотношение:
$this->belongsTo('Images', [
'foreignKey' => 'id_imagen'
]);
Пользователи контроллера:
public function add() {
if($this->request->is('post')) {
$user = $this->Users->patchEntity($user, $this->request->getData());
if($this->Users->save($user)) {
if(!empty($this->request->data['Image']['image_path']))
$imagen = $this->request->data['Image']['image_path'];
$ruta = "/fotos/peque/";
$nombreImagen = $imagen.'-cuenta';
$ext = substr(strtolower(strrchr($imagen['name'], '.')), 1);
$arr_ext = array('jpg', 'jpeg', 'gif', 'png');
if(in_array($ext, $arr_ext)) {
move_uploaded_file($imagen['tmp_name'], $ruta . 'files' . DS . $imagen[$nombreImagen]);
$this->request->data['Image']['image_path'] = $imagen;
}
}
$this->Flash->success(__('El usuario ha sido creado correctamente.'));
return $this->redirect(['controller' => 'Users', 'action' => 'login']);
}
else {
$this->Flash->error(__('El usuario no pudo ser creado. Por favor, intentelo de nuevo.'));
}
}
$this->set('user', $user); }
Я хочу, чтобы при загрузке изображения на сервер вы сохраняли в таблице изображения его имя, а в таблице пользователи сохраняли только что созданный идентификатор из изображений таблицы.
Я понимаю, чего хочу?