如何使用find方法进行建模

时间:2016-11-16 20:08:49

标签: php yii yii2

我的控制器中有actionView($ id)方法。并有2个模型帖子和用户,我想得到一个帖子(用户['名称'])。当点击项目时,我有主网格视图有这样的网址: http://localhost/test/basic/site/1 最后1是这个$ id参数。 现在我的方法是:

public function actionView($id)
   {
       if(Yii::$app->user->isGuest)
       {
           return $this->redirect(['login']);
       }
       else
       {
        $data = Posts::find($id)->joinWith('user');
        return $this->render('detail',['data'=>$data]);
       }
    }

但我有错误:

Setting unknown property: yii\widgets\DetailView::0

1 个答案:

答案 0 :(得分:0)

您必须在Posts-Model中定义关系,如下所示:

 public function getUser()
{
    return $this->hasOne(User::className(), ['id' => 'user_id']);
}

之后,您可以通过以下方式获取用户:

Posts::find($id)->with('user')

您可以在文档中找到它: AndroidViewClient/culebra