скрытие данных модели, основанных на существовании идентификатора в другой таблице - PullRequest
0 голосов
/ 06 января 2010

У меня к вам несколько сложный вопрос для экспертов CakePHP.

По сути, я создал таблицу БД под названием "location". Каждый месяц я получаю эту таблицу от клиента в формате csv. К сожалению, вместо обновления этой таблицы мне придется очистить ее и заново импортировать все записи. К сожалению, я не могу изменить эту таблицу вообще.

Функционально, пользователи будут иметь возможность просматривать отображение этих записей и смогут скрывать некоторые из них. Этот «скрытый» атрибут должен быть постоянным и выдерживать ежемесячную очистку всех записей.

У меня все это работало вчера. Я создал отдельную таблицу location_properties (столбцы: id (int), location_id (внешний ключ), is_hidden (логическое значение)). При отображении этих записей он просто проверяет, является ли "is_hidden == true".

Все это было хорошо (И РАБОТАЕТ!), Но потом мой начальник вроде как склеил все работы. Он сказал мне удалить столбец «is_hidden» из таблицы, потому что это было бы более эффективно. Чтобы я мог просто проверить наличие location_id, чтобы скрыть или показать его.

Не все так просто. Кто-нибудь знает, как я могу это осуществить? Я перепробовал все, что мог придумать.

Ответы [ 2 ]

0 голосов
/ 08 января 2010

На первый взгляд вижу 2 решения:

1) добавить массив условий ('Location.id' => 'NOT NULL')

2) изменить тип соединения на правое соединение

Надеюсь, это поможет

0 голосов
/ 06 января 2010

Ваш босс не прав.

Более эффективно добавлять столбец, чем слишком удалять и повторно импортировать местоположения каждый месяц.

Говорил ли он, что он менее эффективен, или вы провели реальный тест, чтобы увидеть, не слишком ли вредно его производительность?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...