Im próbuje załadować mojego modelu w moim kontrolera i próbowała to:Dlaczego otrzymuję komunikat "Metoda niestatyczna nie powinna być wywoływana statycznie" podczas wywoływania metody w modelu wymownym?
return Post::getAll();
dostał błąd Non-static method Post::getAll() should not be called statically, assuming $this from incompatible context
Funkcja w modelu wygląda tak:
public function getAll()
{
return $posts = $this->all()->take(2)->get();
}
Co to jest poprawny sposób załadować model w kontrolerze, a następnie zwrócić jego zawartość?
2 sposoby. 1. Utwórz instancję modelu i użyj '$ obj-> getAll()' lub ustaw funkcję jako statyczną. – itachi
Kiedy używasz: '::' próbujesz uzyskać dostęp do metody * statycznie *, więc twój podpis funkcji powinien być zadeklarowany jako: 'public static function getAll()'. –
@Sam, polecam Ci pięciominutowe czytanie o OOP i statycznych metodach w PHP: http://php.net/manual/en/language.oop5.static.php –