繁体   English   中英

yii2 Basic - 如何使用其他表中的 id 在网格视图列中显示数据?

[英]yii2 Basic - How to Display data in grid view column using id from other table?

我是 yii2 框架的新手。 我以前从未使用过这个 fremework。 如果有人可以帮助我,那就太好了。 实际上,我已经为“维护”表创建了一个 CRUD。 在维护表中,有一列名为“Vehicle_ID”的列是“Vehicle”表中的外键(FK)。 现在的问题是,用于维护的网格视图将“Vehicle_ID”显示为 1,但我想要的是根据“Vehicle”表中的 id 显示“Plat_No”。 有人可以帮我解决这些问题吗...

我应该在网格视图代码下面更改什么?

<div class="box-body">

                    <h2 class="page-header">View Insurance # ID : <?php echo $model->Insurance_ID; ?></h2>

                    <?= DetailView::widget([
                        'model' => $model,
                        'attributes' => [
                            'Insurance_ID',
                            'Expiry_Date',
                            'Due_Date',
                            'Current_Coverage',
                            'Cover_Date_From',
                            'Cover_Date_To',
                            'Insurance_Provider',
                            'Policy_Cover_Note_No',
                            'NCD_Percent',
                            'Basic_Sum_Insured',
                            'Wind_Screen_Sum_Insured',
                            'Total_Premium_Price',
                            'Vehicle_ID', <!--Don't want this. How should I change here?-->
                        ],
                    ]) ?>

                </div>

在维护模型类中,您必须创建与 Vehicle 表的关系。 您可以使用关系引用来调用 Vehicle 列。 在网格中使用Vehicle.Plat_No 您可以尝试使用vehicle.Plat_NoVehicle.Plat_No 列名区分大小写。

<div class="box-body">

                    <h2 class="page-header">View Insurance # ID : <?php echo $model->Insurance_ID; ?></h2>

                    <?= DetailView::widget([
                        'model' => $model,
                        'attributes' => [
                            'Insurance_ID',
                            'Expiry_Date',
                            'Due_Date',
                            'Current_Coverage',
                            'Cover_Date_From',
                            'Cover_Date_To',
                            'Insurance_Provider',
                            'Policy_Cover_Note_No',
                            'NCD_Percent',
                            'Basic_Sum_Insured',
                            'Wind_Screen_Sum_Insured',
                            'Total_Premium_Price',
                            'Vehicle.Plat_No', <!--Don't want this. How should I change here?-->
                        ],
                    ]) ?>

                </div>

关系看起来像

public function getVehicle()
{
    return $this->hasOne(Vehicle::className(), ['id' => 'Vehicle_id']);
}

如果关系不存在,请使用 gii https://www.yiiframework.com/doc/guide/2.0/en/start-gii重新生成模型文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM