简而言之,我有一个表机器,它有一个指向 SubCategory.id 的 FK。Gii 正确设置了该关系。但是,Machine 中的 FK 列可以设置为 NULL,因为 Action 字段不是强制性的。
[
'attribute'=>'machine Sub-category',
'value' => function ($model) {
return $model->subCategory->subcat_name;
},
],
以上代码在FK不为NULL时显示子分类名称。但如果 FK 为 NULL,则会出现 PHP 错误:
试图获取非对象的属性
我知道错误是因为 NULL 值。 (因为如果我添加一些值而不是 NULL,我不会收到此错误)
所以我的查询是 - 对于可能具有 NULL 值的 FK 列,如何让它们显示在 GridView 或 Detailview 中?
最佳答案
您可以检查子类别是否为空
[
'attribute'=>'machine Sub-category',
'value' => function ($model) {
if (isset($model->subCategory)){
return $model->subCategory->subcat_name;
} else {
return '';
}
},
],
关于mysql - YII2 - 在 gridView 中处理 NULL 值 - 显示一列外键,其中一些可能为 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43270732/