CakePHP, отношение HasMany

Возможно ли каким-либо образом создать отношение hasMany, которое использует идентификатор вне Модели? Например, у одного пользователя много комментариев, но я бы хотел найти только комментарии вошедшего в систему пользователя:

public $hasMany = array(
    'MyComment' => array(
            'className' => 'Comment',
            'foreignKey' => 'user_id',
            'dependent' => false,
            'conditions' => array('Comment.user_id' => $loggedinUser_id),
            'fields' => '',
            'order' => '',
            'limit' => '',
            'offset' => '',
            'exclusive' => '',
            'finderQuery' => '',
            'counterQuery' => ''
        )
);

Я думал о передаче $ loggedinUser_id в контроллерах beforeFilter () в модель. Это хороший способ решить эту проблему или есть лучшие способы?

Любое предложение приветствуется. Большое спасибо!

1
задан chris 30 August 2010 в 16:09
поделиться

1 ответ

Вы всегда и только собираетесь получать доступ к комментариям зарегистрированного пользователя? Разве вы не захотите когда-нибудь показывать комментарии других людей?

Я предлагаю вам просто установить это как условие при каждом вызове Model::find() из вашего контроллера.

Кроме того, в зависимости от конкретных типов отношений вам может потребоваться использовать поведение Containable для фильтрации на основе критериев связанной модели (обычно для HABTM, а не для HM).

0
ответ дан 2 September 2019 в 21:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: