Невозможно сохранить данные с помощью ассоциации HasOne в Cakephp 4.Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Невозможно сохранить данные с помощью ассоциации HasOne в Cakephp 4.

Сообщение Anonymous »

Я пытался объединить две таблицы, используя ассоциацию hasOne в моем приложении cakephp.
Есть две таблицы: пользователи и администратор. В обеих таблицах идентификатор является первичным ключом. Я связал мобильное поле администратора с таблицей добавления пользователей. Таким образом, по ассоциации hasOne пользователь, добавленный в таблицу пользователей, должен быть связан с администратором и также добавлен в таблицу администратора. Но я не могу ввести пользователя, так как происходит ошибка.
Вот структура таблицы.
Таблица пользователей
Изображение

таблица администратора
Изображение

Вот код добавления страницы пользовательского шаблона. Это страница для входа пользователей


















Это пользовательский файл в папке Entity. Я добавил admin = true в доступную функцию, чтобы пользователь мог получить доступ к администратору
protected $_accessible = [
'email' => true,
'password' => true,
'created' => true,
'modified' => true,
'articles' => true,
'admin' => true,
'status' => true,
'*' => true,
'id' => false

];

Это функция добавления в файле UserController. Используется для добавления новых пользователей
public function add()
{
$user = $this->Users->newEmptyEntity();
if ($this->request->is('post')) {
$user = $this->Users->patchEntity($user, $this->request->getData());

if (!$user->getErrors) {
$image = $this->request->getUploadedFiles();

$name = $image['image']->getClientFilename();

$targetPath = WWW_ROOT.'img'.DS.$name;

if ($name) {
$image['image']->moveTo($targetPath);
}

$user->image = $name;
} else {
echo "Error uploading" ;
echo $user->getErrors;
}

if ($this->Users->save($user)) {
$this->Flash->success(__('The user has been saved.'));

return $this->redirect(['action' => 'index']);
}
$this->Flash->error(__('The user could not be saved. Please, try again.'));
}
$this->set(compact('user'));

}

Это файл таблицы «Пользователи», в котором я определил отношение HasOne
public function initialize(array $config): void
{
parent::initialize($config);

$this->setTable('users');
$this->setDisplayField('email');
$this->setPrimaryKey('id');

$this->addBehavior('Timestamp');

$this->hasMany('Articles', [
'foreignKey' => 'user_id',
]);

$this->hasOne('Admin');
}


Подробнее здесь: https://stackoverflow.com/questions/789 ... -cakephp-4
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Невозможно сохранить данные с помощью ассоциации HasOne в Cakephp 4.
    Anonymous » » в форуме Php
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Ошибка установки CakePhp/локализован через композитор, конфликты с CakePhp/Chronos и CakePhp/Database
    Anonymous » » в форуме Php
    0 Ответы
    45 Просмотры
    Последнее сообщение Anonymous
  • Проверка isUnique в ассоциации CakePHP hasMany
    Anonymous » » в форуме Php
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Основные связи EF «один ко многим» HasOne().WithMany() и HasMany().WithOne()
    Anonymous » » в форуме C#
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Как интерпретировать выходные данные Apyori (алгоритма Apriori) для правил ассоциации длиной более 2?
    Anonymous » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»