在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);
想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » Using $this when not in object context错误原因及解决办法
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » Using $this when not in object context错误原因及解决办法