Laravel5 – Нестатический метод не следует называть статическим

Я не знаю, что это за ошибка. Пожалуйста, дайте мне некоторое объяснение

на моем UserController.php

 class UserController extends Controller { public function viewCard($card_id) { return Tag::test($card_id); } } 

и на моей модели Tag.php

 class Tag extends Model { public function test($card_id){ return DB::SELECT(DB::RAW("SELECT name FROM tagmap tm, tags t WHERE t.id = tm.tag_id AND tm.card_id = :card_id"), ['card_id'=>$card_id]); } } 

я не знаю, где он терпит неудачу, где я ошибаюсь …

благодаря….

Related of "Laravel5 – Нестатический метод не следует называть статическим"

public function test() не является статическим методом. Когда вы пытаетесь получить доступ к статическому методу с помощью Tag::test() он не будет работать, потому что … ну метод не является статичным.

У вас есть два варианта:

1) Установите метод в статический

 class Tag extends Model { public static function test($card_id){ return DB::SELECT(DB::RAW("SELECT name FROM tagmap tm, tags t WHERE t.id = tm.tag_id AND tm.card_id = :card_id"), ['card_id'=>$card_id]); } } 

2) Вызвать его как метод экземпляра, сначала создав экземпляр класса:

 $tag = new Tag(); $tag->test($card_id);