【发布时间】:2013-08-22 18:42:39
【问题描述】:
我试图在我的控制器中加载我的模型并尝试了这个:
return Post::getAll();
收到错误Non-static method Post::getAll() should not be called statically, assuming $this from incompatible context
模型中的函数如下所示:
public function getAll()
{
return $posts = $this->all()->take(2)->get();
}
在控制器中加载模型然后返回其内容的正确方法是什么?
【问题讨论】:
-
2 种方式。 1、创建模型实例并使用
$obj->getAll()或将函数设为静态。 -
当您使用:
::时,您正尝试静态地访问方法,因此您的函数签名应声明为:public static function getAll()。 -
@Sam,我会推荐你花五分钟阅读关于 PHP 中的 OOP 和静态方法:php.net/manual/en/language.oop5.static.php