我不知道这个错误是什么。请有人给我一些解释
在我的UserController.php
class UserController extends Controller {
public function viewCard($card_id) {
return Tag::test($card_id);
}
}
Run Code Online (Sandbox Code Playgroud)
在我的模型上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]);
}
}
Run Code Online (Sandbox Code Playgroud)
我不知道哪里失败了,哪里做错了......
谢谢....
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]);
}
}
Run Code Online (Sandbox Code Playgroud)
2)首先实例化您的类,将其作为实例方法调用:
$tag = new Tag();
$tag->test($card_id);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21671 次 |
| 最近记录: |