2016-07-23 09:00:51 4385次浏览 6条回答 0 悬赏 15 金钱

默认情况下,用户尚未添加任何数据,这个时候浏览内容页面,将会获取表内数据。
我为了减轻内存占用,使用了asArray,却导致错误。
如何解决呢?

补充于 2016-07-23 11:12
$list = Devlog::find()->where(['belong' => $get])->all();
if (!empty(($list))) {
    Devlog::asArray($list);
}

这样调用会导致出错,求解答

最佳答案

  • 飘逸 发布于 2016-07-25 12:54 举报

    asArray()对空表会返回个空的数组。不会报错的。

    楼主试试:(你需要把Table换成实际的model)

    $ary = Table::find()->asArray()->all();
    
    print_r($ary);
    
    1 条回复
    回复于 2016-07-26 09:01 回复

    的确,原来是我没赋值导致的。谢谢大神,可我找不到采纳按钮了……啥情况这是

    觉得很赞
  • 回答于 2016-07-23 09:31 举报

    一个判断不就解决问题吗

    1 条回复
    回复于 2016-07-23 09:34 回复

    首先,这样可以执行:$list = Devlog::find()->where(['belong' => $get])->asArray()->all();
    其次,

    $list = Devlog::find()->where(['belong' => $get])->all();
    if (!empty(($list))) {
        Devlog::asArray($list);
    }
    

    这样不能执行……求助

  • 回答于 2016-07-23 10:29 举报

    避免空表出现不就行了

    1 条回复
    回复于 2016-07-23 11:11 回复

    用户有权删除自己所有的文章……可以这样调用吗?

    if (!empty(($list))) {
        Devlog::asArray($list);
    }
    
  • 回答于 2016-07-23 16:27 举报
    $list = Devlog::find()->where(['belong' => $get])->asArray()->all();
    

    一般想查询结果返回数组,都是这样写的。既然你知道这样写可以,为什么还的在下面在多一个if判断呢?这不多此一举吗。

    1 条回复
    回复于 2016-07-25 08:37 回复

    查旬空表,阁下使用过种情况吗?空表将导致报错

    觉得很赞
  • 回答于 2016-07-25 10:09 举报

    查询出来的结果,在使用之前你应该加以判断,是否为空...最好贴图上来,不然谁知道你报什么错

  • 回答于 2016-07-28 15:27 举报

    我考,模型还有asArray方法的?你。。。。。。确。。。。。。定。。。。。有?

    觉得很赞
您需要登录后才可以回答。登录 | 立即注册
狼骑舞者
助理

狼骑舞者

注册时间:2016-02-05
最后登录:2018-12-20
在线时长:10小时36分
  • 粉丝3
  • 金钱69
  • 威望0
  • 积分169

热门问题