所以我是PHP的新手,我的任务是创建一个数据库表,创建一个与表交互的模型,并创建一个控制器文件,该文件具有一个使用该模型显示所有字段和数据的动作函数。我能够创建db表和模型,但是我在创建控制器时遇到了问题。这是我对模型和控制器的所作所为:
模型
Class Tyler extends ActiveRecord
{
public function tableName()
{
return 'tyler';
}
public function rules()
{
return array(
array('GUITAR_NUM, YEAR', 'length', 'max'=>4),
array('BRAND, MODEL, COLOR', 'length', 'max'=>20),
array('GUITAR_NUM, YEAR, BRAND, MODEL, COLOR', 'safe', on'=>'search'),
array('GUITAR_NUM, YEAR, BRAND, MODEL, COLOR', 'required'),
};
}
public function attributeLabels()
{
return array(
'GUITAR_NUM' => 'Guitar Number',
'BRAND' => 'Brand',
'MODEL' => 'Model',
'YEAR' => 'Year',
'COLOR' => 'Color',
};
}
}
?>
控制器
<?php
namespace app\controllers;
use yii\web\Controller;
use app\models\TylerModel;
Class TylerController extends Controller
{
public function actionIndex()
$data = Tyler::model()->findAll();
foreach($data as $d)
{
echo $d->name.'<br>';
}
return $this->render('index',
[
'tyler' => $tyler,
]);
};
?>
由于我使用了actionIndex,表中的所有数据都应该转到特定的url,但只是得到404错误。我尝试过很多不同的东西,但似乎没什么用。反馈/帮助将非常感谢!
答案 0 :(得分:2)
我在你的代码中注意到的第一件事就是你在渲染中。您要发送$tyler
而不是$data
。解决404状态后,这肯定会出错。
关于404状态,您使用的是UrlManager规则吗?通常它们位于Yii2项目中main.php
目录下的config
文件中(对我来说看起来像Yii2应用程序)。如果是这种情况,您可以回复相关代码吗?