[英]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_No
或Vehicle.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.