CakePHP / MySQL получает слабо связанные данные - PullRequest
0 голосов
/ 08 ноября 2018

, поэтому у меня есть две таблицы в моей базе данных, первая создается при оплате подписки и использует электронную почту пользователя в качестве ссылки. Затем пользователь создает учетную запись после факта. Таким образом, внешний ключ не установлен.

Я хочу сгенерировать запрос, который будет извлекать данные из этой таблицы генерации подписки. Я пытаюсь что-то вроде этого:

    // Querying the members table, trying to include member_subsr data
    $oMembers = $Members->find('all',
        [
            'contains' => ['member_subscr'],
            'conditions' => [
                'member_email' => 'members.email'
            ],
            'order' =>
                [
                    'id' => 'DESC'
                ]
        ]);

Ошибка: Column not found: 1054 Unknown column 'member_email' in 'where clause'

Не уверен, куда идти отсюда. Я хочу связать записи по электронной почте пользователя, а не по внешнему ключу.

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 08 ноября 2018

Я разобрался. При работе с ForeignKey, отличным от обычного, вы должны установить foreignKey и новый BindingKey в функции инициализации MembersTable.

    // In MembersTable
     $this->hasOne('member_attributes')
        ->setForeignKey('member_email')
        ->setBindingKey('email');
    // in Controller
    $oMembers = $Members->find('all')->contain(['member_attributes']);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...