前端技术 手机教程
程序开发 平面动画
系统软件 CMS教程
CMS教程 在线手册
资源下载 网络安全
精准搜索请尝试:精确搜索

Using $this when not in object context错误原因及解决办法

2021-07-20 16:56:13 来源:原创 作者:寂静的神经

在php中出现 Using $this when not in object context 的原因是在静态方法中使用 $this 或者直接调用非静态的方法。

错误代码示例:

//thinkphp 模型类
class StudentCharge extends Model
{
    public static function getCharges($id)
    {
        $charges = $this->where('major_id',$student->major_id)->select();
        return $charges;
    }
}

//调用
$charges = StudentCharge::getCharges($student->id);

以上代码就会报 Using $this when not in object context 错误。

解决办法1:在静态方法中使用 self:: 来代替 $this ,将上面代码的第 5 行修改为下面内容即可。

$charges = self::where('major_id',$student->major_id)->select();

解决办法2:实例化类后再调用该方法,将上面的调用代码修改为下面方式即可。

$sc = new StudentCharge;
$charges = $sc->getCharges($student->id);
本文关键词:$this Using object context

相关文章

零五网,分享IT知识,国内顶级IT知识门户网站。

Copyright (C) www.02405.com, All Rights Reserved.

零五网 版权所有 辽ICP备13002105号-1