Я не знаю, что это за ошибка. Пожалуйста, дайте мне некоторое объяснение
на моем 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]); } }
я не знаю, где он терпит неудачу, где я ошибаюсь …
благодаря….
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);