Php Laravel 5-uu callStatic功能是否正常工作?

Php Laravel 5-uu callStatic功能是否正常工作?,php,laravel,eloquent,laravel-5,Php,Laravel,Eloquent,Laravel 5,我有一个从模型扩展而来的模型,它的名字是IcerikrlCategory,我想静态地使用getTable函数。但是调用静态函数不会触发任何东西。因为没有进入这个神奇的功能范围 错误消息是: 1/1 ContentController.php第51行中的ErrorException: 假设$this来自不兼容的上下文,则不应静态调用非静态方法illumb\Database\elount\Model::getTable getTable方法需要模型对象的实例才能工作。方法本身如下所示: public

我有一个从模型扩展而来的模型,它的名字是IcerikrlCategory,我想静态地使用getTable函数。但是调用静态函数不会触发任何东西。因为没有进入这个神奇的功能范围

错误消息是:

1/1 ContentController.php第51行中的ErrorException: 假设$this来自不兼容的上下文,则不应静态调用非静态方法illumb\Database\elount\Model::getTable

getTable方法需要模型对象的实例才能工作。方法本身如下所示:

public function getTable()
{
    if (isset($this->table)) return $this->table;

    return str_replace('\\', '', snake_case(str_plural(class_basename($this))));
}
正如您所看到的,它用于访问属性,这意味着在对象实例给定的上下文中。因此,静态调用该方法将不起作用:

IcerikRltCategory::getTable(); // this won't work
但是,当您有一个实例时,它将:

$model = new IcerikRltCategory();
$model->getTable(); // this will work

谢谢你的回复,我认为你没有进入这个功能。我理解,getTable函数的内部必须使用静态变量。