从laravel中的另一个模型调用模型函数

时间:2014-01-03 10:19:31

标签: php laravel scope

如何在另一个模型中调用模型方法,例如 我有这样的代码

/model/user.php

public function get_token_by_id($id){
    //some code
}

我希望在我的另一个模特中打电话

/模型/餐厅

App::bind('user','user');

class RestaurantController extends BaseController {

    public function __construct(user $modelUser){
        $this->modelUser = $modelUser;  
    }
    public function getUser(){
       $someVar = $this->modelUser->get_token_by_id($id);  
    }
}

但是我收到了错误

在非对象上调用成员函数get_token_by_id()

如何解决?

1 个答案:

答案 0 :(得分:1)

嗯......那是因为$this->modelUser是非对象!

更准确地说,$this->modelUser会返回null或类似内容(尝试var_dump($this->modelUser))。可能是因为您的模型没有属性声明(protected $modelUser),或者因为您没有将正确的变量传递给构造函数。