嗨我有这个奇怪的问题。我有一个表关系。我想查看相关的表字段名称而不是id。
这是我的模特:
public function getQCat()
{
return $this->hasOne(QbCategory::className(), ['id' => 'q_cat']);
}
这是我的观点:
<?php echo DetailView::widget([
'model' => $model,
'attributes' => [
'q_cat',
'question:ntext',
'q_c1:ntext',
'q_c2:ntext',
'q_c3:ntext',
'q_c4:ntext',
'q_ans:ntext',
],
]) ?>
&#39; q_cat&#39;视野中的字段我想显示名称而不是ID。我尝试使用&#39; q_cat.name&#39;但它说(没有设定)。
感谢。
答案 0 :(得分:1)
假设你的QbCategory模型是
inviteData
并且您希望在主类中访问QbCategory值 您可以通过这种方式访问属性名称 在主类
添加关系
id
name
然后你可以为QbCategory名称
建立一个getterpublic function geQcat()
{
return $this->hasOne(QbCategory::className(),
['id' => 'qcat_id']); // qcat_id is the column name in Main class that join QCat to Main
然后在你的主要细节视图
public function getQcatname() {
return $this->qcat->name; // name is the name of name column in QCat
}
答案 1 :(得分:0)
更简单的解决方案
[
'attribute' => 'q_cat',
'value => $model->Qcat->qcat_name
]