![](/img/trans.png)
[英]Laravel 4.1 Facade Non-static method should not be called statically
[英]Laravel5 - Non-static method should not be called statically
我不知道这是什么错误。 请有人给我一些解释
在我的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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.