activerecord – yii2如何获取关系并使用外键获取id的标题
发布时间:2020-12-13 16:55:51 所属栏目:PHP教程 来源:网络整理
导读:我有事件模型,一个事件有一个项目,一对一关联,我在事件模型中写函数得到项目如下 public function getprojects() { return $this-hasOne(appmodelsProject::className(),['id' = 'projectid']);} 以下是我的控制器的代码 if ($model-load(Yii::$app-reques
我有事件模型,一个事件有一个项目,一对一关联,我在事件模型中写函数得到项目如下
public function getprojects() { return $this->hasOne(appmodelsProject::className(),['id' => 'projectid']); } 以下是我的控制器的代码 if ($model->load(Yii::$app->request->post()) && $model->save()) { $project = $model->project; return $this->redirect(['eventdetail','id' => $model->id,'project' => $project]); } 和详细信息视图代码是 <?= DetailView::widget([ 'model' => $model,'attributes' => [ 'id','projectid','userid','milestone','datetime',],]) ?> 我想打印项目标题而不是projectid,我们从关联表中获取标题如何获得标题并打印详细视图 解决方法
1)如果您只需要文本值,最简单的方法是将projectId更改为projects.title:
'attributes' => [ 'projects.title', 根据标签,还将从Projects模型中获取. 2)对于更复杂的情况和不同的格式化,您可以调用任何模型方法来检索所需的数据. 例: 'attributes' => [ [ 'attribute' => 'avatar','format' => 'raw','value' => $model->getAvatar(), (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |