【问题标题】:How to handle error of no records in Yii2 find method?Yii2 find 方法中无记录错误如何处理?
【发布时间】:2017-08-01 07:28:47
【问题描述】:

我在一个使用 Yii2 开发的项目中使用 DataTables 插件在网格中显示用户信息的一些字段。

我有这个代码来获取每个用户的最后一次访问:

$lastDate = SeenLog::find()->where(['user_id' => $this->id])
        ->orderBy(['id' => SORT_DESC])
        ->one()->visit_date;

但我收到此错误:

DataTables warning: table id=w0 - Trying to get property of non-object and nothing shows in grid.

似乎是因为表中没有某些用户的记录。

我该如何处理这个错误?

谢谢。

【问题讨论】:

    标签: activerecord datatables yii2 find


    【解决方案1】:

    您需要先检查是否已从数据库中获取日志。

    $log = SeenLog::find()->where(['user_id' => $this->id])
            ->orderBy(['id' => SORT_DESC])
            ->one();
    $lastDate = $log ? $log->visit_date : null;
    

    【讨论】:

      猜你喜欢
      • 2015-12-15
      • 2022-08-18
      • 2015-04-30
      • 1970-01-01
      • 2023-01-09
      • 2018-11-22
      • 2013-08-15
      • 1970-01-01
      • 2014-06-17
      相关资源
      最近更新 更多