как получить данные из таблицы, данные которой недоступны в объединенной таблице в cakePHP - PullRequest
0 голосов
/ 29 января 2019

Я использую cakePhp 3.6, у меня две таблицы.Оба соединены.В одной таблице у меня есть token имя таблицы codes, а в другой таблице я сохранил немного code для какого-то места.Имя таблицы venues_codes.
Как у меня есть 10 code в таблице codes.А в venues_codes таблица 5 code хранится для некоторого места.Это структура таблицы venues_codes.id venue_id code_id.Здесь venue_id исходит из другого стола.Это не моя забота сейчас.Я просто хочу получить остальные пять code из таблицы codes, которых нет в таблице venues_codes.

Вот как я пытался, но в обеих таблицах доступно только извлечение token.

$this->loadModel('VenueCodes');
$this->loadModel('Codes');
$query = $this->VenueCodes->find()
->contain(['Codes'])
->select(['id','code_id']);`

Я работаю с CakePHP.Но если кто-нибудь может помочь мне с нормальной логикой sql, это также будет полезно для меня.

Ответы [ 2 ]

0 голосов
/ 29 января 2019

Это должно дать вам все коды, которые не связаны с местом проведения:

$codes = $this->Codes->find()->notMatching('Venues');
0 голосов
/ 29 января 2019

Чистый запрос MySQL будет выглядеть так:

 SELECT code FROM codes WHERE code NOT IN (SELECT code_id FROM venues_codes);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...