控制器:
获取帖子public function actionIndex()
{
$posts = Post::find();
$pagination = new Pagination([
'defaultPageSize' => 2,
'totalCount' => $posts->count()
]);
$posts = $posts->offset($pagination->offset)->limit($pagination->limit)->all();
return $this->render(
'index',
[
'posts' => $posts,
'pagination' => $pagination
]
);
}
视图:显示帖子文本和用户ID
foreach($posts as $post){ ?>
=$post[user_id]?>
=$post[text]?>
} ?>
我不能使用功能getUser因为$ post不是对象
和后期模型:
命名空间app \ models;
使用yii \ db \ ActiveRecord;
类Post扩展ActiveRecord
{
/ **
* @inheritdoc
* /
公共静态函数tableName()
{
返回“发布”;
}
/**
* @inheritdoc
*/
public function rules()
{
return [
[['user_id', 'text'], 'required'],
[['user_id'], 'integer'],
[['text'], 'string']
];
}
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
'id' => 'ID',
'user_id' => 'User ID',
'text' => 'Text',
];
}
/**
* @return \yii\db\ActiveQuery
*/
public function getUser()
{
return $this->hasOne(User::className(), ['id' => 'user_id']);
}
}
最佳答案
foreach($posts as $post){ ?>
= $post->user->username ?>
= $post->text ?>
} ?>