2016-03-21 17 views
0

我有一个yii2项目和控制器MyModelController.php那里,我想模型yii2得到模型控制器

namespace app\controllers; 
    use yii\web\Controller; 
    use yii\db\Command; 
    class MyModelController extends Controller 
    { 
     public function actionPhoto() 
     { 
      $model=new myModel; 
      return $this->render('photo', ['model' => $model]); 
     } 
    } 

和模型

MyModel.php: 
     use namespace app\models; 

    use yii\base\Model; 
    class MyModel extends ActiveRecord 
    { 
     public static function model($className=__CLASS__) 
     { 
      return parent::model($className); 
     } 
     public function tableName() 
     { 
      return 'my_model'; 
     } 
     public function rules() 
     { 
      ... some rules 
     } 
     public function relations() 
     { 
      return array(
      ); 
     } 
     //like fields in my table in mysql 
     public function attributeLabels() 
     { 
      return array(
       'id' => 'ID', 
       'my_model_atribute' => 'MyModel', 
      ); 
     } 

     public function search() 
     { 
      ... some search 
     } 
    } 

它们分别是在/basic/models/basic/controllers

而且我得到这个错误,当我把它在我看来:

Class 'app\controllers\MyModel' not found 

UPD1 我试图使它鉴于photo.php

use yii\helpers\Html; 
$model=new MyModel; 
var_dump($model); 

我仍然给了错误,类未找到。 UPD2 更改命名空间basic\modelspublic_html\basic\models,因为它实际上是,但它仍然没有找到班上有/

+0

你想在控制器的使用模式? – Farshid

+2

只需在控制器中添加路径即可。假设它会像'use app \ models \ MyModel;' –

+0

你是对的。 –

回答

1
namespace basic\controllers; 
    use yii\web\Controller; 
    use yii\db\Command; 
    class MyModelController extends Controller 
    { 
     public function actionPhoto() 
     { 
      $model=new myModel; 
      return $this->render('photo', ['model' => $model]); 
     } 
    } 

MyModel.php: 使用命名空间基本\模型;

use yii\base\Model; 
class Model extends ActiveRecord 
{ 
    public static function model($className=__CLASS__) 
    { 
     return parent::model($className); 
    } 
    public function tableName() 
    { 
     return 'my_model'; 
    } 
    public function rules() 
    { 
     ... some rules 
    } 
    public function relations() 
    { 
     return array(
     ); 
    } 
    //like fields in my table in mysql 
    public function attributeLabels() 
    { 
     return array(
      'id' => 'ID', 
      'my_model_atribute' => 'MyModel', 
     ); 
    } 

    public function search() 
    { 
     ... some search 
    } 
} 
2

您必须先使用型号。

use yii\helpers\Html; 
use basic\models\Mymodel 
$model=new MyModel; 
var_dump($model); 

或者

use yii\helpers\Html; 
$model=new \basic\models\MyModel; 
var_dump($model);