2016-11-12 108 views
0

获取错误调用未定义的方法Yii :: import() 正如我试图访问我的Yii控制器操作,我得到这个错误请 指导我谁我访问和我要去的地方错了,现在 我的代码是调用未定义的方法Yii :: import()

<?php 

namespace app\controllers; 

use Yii; 
use yii\filters\AccessControl; 
use yii\web\Controller; 
use yii\filters\VerbFilter; 
use app\models\LoginForm; 
use app\models\ContactForm; 
use app\controllers\SSPController; 


class BrandController extends Controller 
{ 
    public function actionIndex() 
    { 

    Yii::import('application.controllers.admin.SSPController'); 
    SSPController::getdata(); 

    } 
} 

我SSPController类代码就像是从我要调用getData()方法

<?php 

namespace app\controllers; 

use Yii; 
use yii\filters\AccessControl; 
use yii\web\Controller; 
use yii\filters\VerbFilter; 
use app\models\LoginForm; 
use app\models\ContactForm; 

class SSPController extends Controller 
{ 


static function getdata(){ 

    $primaryKey = 'user_id'; 
    $table = 'gc_od_chat'; 
    $columns_names=$arrayName = array("user_email","user_username"); 
    $columns = array(
     array('db' => 'columns_names[0]', 'dt' => 'columns_names[0]', 'field' => 'columns_names[0]'), 
     array('db' => 'columns_names[1]', 'dt' => 'columns_names[1]', 'field' => 'columns_names[1]'), 
    ); 

    $sql_details = array(
     'user' =>"root", 
     'pass' => "", 
     'db' => "octachat", 
     'host' => "localhost" 
    ); 

    echo json_encode(
    $this->simple($_GET, $sql_details, $table, $primaryKey, $columns, $joinQuery, $extraWhere) 
    ); 



     } 
      } 
+0

没有的Yii :: import()的中Yii 2.你正在使用旧的Yii 1代码。 – Bizley

+0

所以我怎么接取的另一个控制器动作方法在我的控制器 –

回答

1

没有的Yii :: import()的中Yii 2但有很多方法可以实现这一点。

例如:

  • 使BrandController延长SSPController所以它可以使用SSPController的方法
  • 呼叫Yii::$app->runAction('controller/action', $params);(在action方法的情况下)
+0

谢谢您的回答@Bizley '代码 类BrandController扩展SSPController { 公共职能的actionIndex(){ $数据=的Yii :: $应用 - > runAction('SSPController/getdata',[“id”=>“sdfsdaf”]); return $ this-> render('index'); }} ' 创建为u求佛我的视图页面 **找不到网页 而Web服务器正在处理您的请求时上述错误在收到此错误后。 如果您认为这是服务器错误,请与我们联系。谢谢。** –

+0

你不可能同时使用这两种方法。你可以叫'返回静态::的GetData();''中的actionIndex()' – Bizley

+0

你的意思是这样 '代码 类BrandController扩展SSPController { 公共职能的actionIndex(){ $数据=的Yii :: $ app-> runAction('SSPController/getdata',array(“id”=>“sdfsdaf”)); return static :: getdata(); } }' –