Я пытаюсь присоединиться comment
стол с моим user
стол как этот comment.userId=user.id
к сожалению, когда я print_r($this->user);
я ничего не получаю что я тут не так делаю?
в моей модели комментариев
public function relations()
{
return array(
'user' => array(self::BELONGS_TO, $this->module->user, 'userId'),
);
}
public function getLastName()
{
print_r($this->user);
die;
return is_null($this->user) ? '' : $this->user->{$this->module->lastNameAttribute};
}
где
$this->module->user = 'User'; //User is the model name
а также
$this->module->lastNameAttribute = 'last_name';
по-моему
$comments = $model->getCommentDataProvider();
$comments->setPagination(false);
$this->widget('zii.widgets.CListView', array(
'dataProvider'=>$comments,
'itemView'=>'application.modules.comment.views.comment._view', //view file location
'emptyText' => '<div class="alert alert-info">No comments yet.</div>',
'summaryText' => '<h4>'.Yii::t('commentTitle','{n} comment|{n} comments',$comments->totalItemCount).'</h4>'
));
Я вижу небольшую опечатку, возможно, вы ошибаетесь, делая сообщение:
comment.userid=user.id
вот это userid
и в отношении вы ссылались на это с userId
проверьте это пожалуйста
РЕДАКТИРОВАТЬ — после редактирования вопроса
Я не знаком с CommentableBehavior, но мне кажется, что вам нужно активно загружать модель пользователя с каждым комментарием:
$comments = Yii::createComponent($this->module->commentModelClass)->with('user')->findAll($this->getCommentCriteria());
я добавил with('user')
в getComments()
метод
Других решений пока нет …