【问题标题】:call model function from another model in laravel从 laravel 中的另一个模型调用模型函数
【发布时间】:2014-01-20 23:41:18
【问题描述】:

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

/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()

如何解决?

【问题讨论】:

  • 可能是App::bind('user','User');App::bind('user','App\User');

标签: php laravel scope


【解决方案1】:

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

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

【讨论】:

  • 或者换句话说,做这样的事情: $user = new User(); $someVar = $user->get_token_by_id($id);
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-02
  • 1970-01-01
  • 2014-11-18
  • 2022-07-21
  • 2018-09-21
  • 2016-05-09
  • 2015-05-13
相关资源
最近更新 更多