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

Php 从laravel中的另一个模型调用模型函数,php,laravel,scope,Php,Laravel,Scope,如何在另一个模型中调用model方法,例如 我有这样的代码 /model/user.php public function get_token_by_id($id){ //some code } 我想叫另一个型号的 /model/餐厅 App::bind('user','user'); class RestaurantController extends BaseController { public function __construct(user $modelUser

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

/model/user.php

public function get_token_by_id($id){
    //some code
}
我想叫另一个型号的

/model/餐厅

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);  
    }
}
但我犯了个错误

通过非对象上的\u id()调用成员函数get\u token\u

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);  
    }
}

如何修复它

嗯。。。这是因为
$this->modelUser
是一个非对象


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

或者换句话说,执行类似操作:$user=new user()$someVar=$user->get\u token\u by\u id($id);可能
App::bind('user','user')
App::bind('user','App\user')