美文网首页
无法使用类里面的visiable方法。

无法使用类里面的visiable方法。

作者: 苏坡闷 | 来源:发表于2018-09-23 11:56 被阅读0次

    访问了一个类的静态方法后,无法使用类里面的visiable方法。

    如下图所示,访问一个类的静态变量后phpstorm提示错误,


    image.png

    箭头所指的地方,提示not found ...
    开始试了试,解决不了,便去看了tp5的手册,在数据访问和转换栏目下有描述all和find返回数据的区别:

    使用find时可直接将对象实例转为数组
    $user = User::find(1);
    dump($user->visible(['id','name','email'])->toArray());
    
    使用all时:
    如果是数据集查询的话有两种情况,由于默认的数据集返回结果的类型是一个数组,
    因此无法调用toArray方法,必须先转成数据集对象然后再使用toArray方法,
    系统提供了一个collection助手函数实现数据集对象的转换,
    $list = User::all();
    if($list) {
        $list = collection($list)->toArray();
    }
    

    我在看了这一条之后,将代码改成了如下所示:


    image.png

    如上图箭头所指,phpstorm不提示错误了

    但是还有一个方法是将数据库配置文件的数据返回类型改成collection然后可以不用使用助手函数的方法来转换,此方法我将在实际应用中试一下。

    相关文章

      网友评论

          本文标题:无法使用类里面的visiable方法。

          本文链接:https://www.haomeiwen.com/subject/piwfoftx.html