mysql - YII2 - 在 gridView 中处理 NULL 值 - 显示一列外键,其中一些可能为 NULL

标签 mysql yii2 yii2-advanced-app

简而言之,我有一个表机器,它有一个指向 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/

相关文章:

yii2 - 如何在 yii2 中创建自己的特征迁移

php - Yii2 activerecord PHP 从 3 个不同的表中获取多个连接

php - yii2 更新后返回上一页

Yii2 更改面包屑网址

php - 如何将Google QR Code生成器结果输出到数据库?

mysql - SQL:查找 A 列中的记录与 B 列中的重复记录

php - 内部加入 symfony2 的最佳方式

php - Yii2 事务 - 更新先前未提交的值加上新的提交值?

Yii2 Basic - 我如何在 yii2 操作中使用常用功能

mysql - 自动更新 MySQL 列