函数使用来自不同类的方法

时间:2016-12-23 09:10:39

标签: php model-view-controller yii yii2

我有TestController,hich没有自己的模型。我在里面使用各种模型,其中包括Trunk Model。我有我的函数“call”,想要使用Trunk Model中的方法“singlePckgCall”。直到这里一切顺利。

TestController

我正在尝试使用的这种方法使用另一种方法,位于下面 - “callSingleNumber”。

enter image description here

然后停止,并向我发送错误页面:

  

未知方法 - yii \ base \ UnknownMethodException

     

调用未知方法:   前端\控制器\ ::的TestController callSingleNumber()

我不知道为什么它想要从TestController调用一个方法,而不是在Trunk Model上调用,正如我想要的那样。结果,它没有看到这样的方法,因为它存在于另一个类中。我试图再次手动重写这个部分,但它没有帮助。

1 个答案:

答案 0 :(得分:2)

您静态调用singlePckgCall,因此singlePckgCall方法$this内部实例不可用。

要解决您的问题,您可以

1)在callSingleNumber中静态拨打singlePckgCall

$action_id_array[$key] = self::callSingleNumber($numery[$i], TRUE); 

第52行

2)创建一个Trunk类的实例,因此$ singlePckgCall中提供了这个:

$instance = new Trunk();
$instance->singlePckgCall($numery);