我正在尝试使用yii,我按照教程简单地创建一个鞋子数据库表的字段。 我创建索引视图
<?php
/* @var $this yii\web\View */
?>
<h1>articoli/index</h1>
<p>
pippo
<?php
foreach($posts as $post){?>
<h1><?php echo $post->autore; ?> </h1>
<p><?php echo $post->articolo; ?></p>
}
?>
</p>
在控制器中我创建了ArticoliController
<?php
namespace app\controllers;
class ArticoliController extends \yii\web\Controller
{
public function actionIndex()
{
$posts=Articoli::model()->findall();
$data['posts']=$posts;
return $this->render('index',$data);
}
public function actionSaluta(){
$vsa['messaggio']='Alessio';
return $this->render('saluta',$vsa);
}
}
在模特中我创造了Articoli .php
<?php
namespace app\models;
use Yii;
/**
* This is the model class for table "articoli".
*
* @property integer $id
* @property string $autore
* @property string $articolo
*/
class Articoli extends \yii\db\ActiveRecord
{
/**
* @inheritdoc
*/
public static function tableName()
{
return 'articoli';
}
/**
* @inheritdoc
*/
public function rules()
{
return [
[['articolo'], 'required'],
[['autore'], 'string', 'max' => 55],
[['articolo'], 'string', 'max' => 255],
];
}
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
'id' => 'ID',
'autore' => 'Autore',
'articolo' => 'Articolo',
];
}
}
当我尝试返回时
PHP Fatal Error – yii\base\ErrorException
Class 'app\controllers\Articoli' not found
我不明白。我认为必须去app \ models \ Articoli.php
我尝试不同的方式 $帖= Articoli :: - &GT;的findall();
但不起作用
答案 0 :(得分:1)
Yii2 ActiveRecord没有静态函数model()
。要从Articoli
获取所有记录,您必须使用findAll()
静态方法或find()->all()
。
将控制器中的使用情况更改为:
$posts = Articoli::findAll();
在您的控制器中添加use
:
use \app\models\Articoli;
或者只是改变这一行:
$posts=Articoli::model()->findall();
到此:
$posts = \app\models\Articoli::findAll();
就是这样! ;)