Логика данных о нагрузке с использованием компонента - cakePHP - PullRequest
0 голосов
/ 03 ноября 2011

У меня есть проект, который я разрабатываю и который включает в себя статьи, которые можно комментировать (конечно, комментарии хранятся в отдельной таблице).Я хочу выполнить предварительную логику для поля из каждого комментария, где бы они не загружались через приложение.Логика данных, которую я хочу выполнить, взята из пользовательского записанного компонента.

Логическое место, где я мог бы достичь этого, - это модель комментариев, но я могу ошибаться.Я даже не на 100% могу использовать компонент из модели, но я пытался сделать эту логику, используя функцию обратного вызова afterFind ():

    function afterFind($results) {
        foreach ($results as $key => $val) {
            if (isset($val['Comment']['created'])) {
                $results[$key]['Comment']['created'] = $this->Dateconvert->howLongAgo($val['Comment']['created']);;
            }
        }
        return $results;
    }

Я попытался повторитьизнутри этой функции, и на самом деле кажется, что она не вызывается, но поиск не выявил никаких функций, которые делают, но я считаю, что afterFind () лучше всего иллюстрирует то, чего я пытаюсь достичь.

Поэтому я ищу решение, в котором я могу выполнить логику пост-загрузки для комментариев к статьям, независимо от того, загружаются ли они из других контроллеров, связанных с комментариями, или из контроллера комментариев.В общем, глобальное решение для одного удара: D

1 Ответ

0 голосов
/ 03 ноября 2011

cakephp указывает, что компоненты предназначены для контроллеров и поведения для моделей и помощников для просмотра ...

зная, что сначала вы также можете знать, что можете использовать любую его часть где угодно, потому что cake все еще php, хотя не рекомендуется ... если это библиотека функций, вы можете поместить ее в папки libs и получить к ней доступ.

how, easy use App :: import ('component', 'nameComponent ');компонент может быть lib, controller и т. д.

Сказав, что afterFind - это хорошее место для загрузки после загрузки, помните, что эта функция вызывается ТОЛЬКО при использовании поиска, если вы используете любую другуюкак запрос или сохранить или обновить, он не будет вызван.

надеюсь, это поможет вам:)

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