Model view controller Yii2中的$model是什么?
我是MVC和Yii框架的新手。$model变量对我来说似乎非常混乱 首先在哪里申报?它来自哪里 当我使用GridView时,我看到一些函数使用$model作为参数。此GridView的模型或模型搜索都不会在任何位置声明$model变量。然而,它被广泛应用于各种数据管理中。这对我来说毫无意义 所以我需要一个简单的,直接的,关于Yii框架v2中$model变量的“傻瓜”解释。非常感谢您帮助澄清这些问题: 1.$model变量的来源是什么? 2.当$model变量在视图文件中使用时,如何确定它代表的是应用程序的哪个模型? 3.有时,单个视图文件中有多个$model变量。它们是否都代表一个模型类?当用于多个类时,如何区分它们Model view controller Yii2中的$model是什么?,model-view-controller,model,yii2,Model View Controller,Model,Yii2,我是MVC和Yii框架的新手。$model变量对我来说似乎非常混乱 首先在哪里申报?它来自哪里 当我使用GridView时,我看到一些函数使用$model作为参数。此GridView的模型或模型搜索都不会在任何位置声明$model变量。然而,它被广泛应用于各种数据管理中。这对我来说毫无意义 所以我需要一个简单的,直接的,关于Yii框架v2中$model变量的“傻瓜”解释。非常感谢您帮助澄清这些问题: 1.$model变量的来源是什么? 2.当$model变量在视图文件中使用时,如何确定它代表的是
谢谢。与其他模型一样,$model是一个var…通常在yii2示例中包含一个模型类的实例(实际上是一个活动记录=) 假设你有课
class Category extends \yii\db\ActiveRecord
{
........
一个典型的代码可能是
$model = Category::findOne($id);
其中Category::findOne($id)使用$id作为主键查找实例表单数据库,并将结果分配给$model
然后可以使用访问实例属性(例如:attribute1)
你可以看看这本指南
美元模型与其他模型一样是一个变量……通常在yii2示例中包含一个模型类的实例(实际上是一个活动记录=) 假设你有课
class Category extends \yii\db\ActiveRecord
{
........
一个典型的代码可能是
$model = Category::findOne($id);
其中Category::findOne($id)使用$id作为主键查找实例表单数据库,并将结果分配给$model
然后可以使用访问实例属性(例如:attribute1)
你可以看看这本指南
如果您不确定
$model
、$searchModel
和其他变量的来源,您很可能在使用它们的视图文件中搜索它们
它们是在呈现所述视图的控制器上创建的,就像任何其他对象/变量一样
从控制器,可以按以下方式渲染视图和传递对象/变量:
// MyController.php
...
public function actionMyAction($id) {
// Create and manipulate $model and $searchModel
...
/*
* First param is the name of the view to be rendered
* Second param is an Associative Array with params
* that will be made available to the view.
*/
return $this->render('my-view-name', [
'model' => $model,
'searchModel' => $searchModel,
]);
}
如果不确定
$model
、$searchModel
和其他变量来自何处,则很可能是在使用它们的视图文件中搜索它们
它们是在呈现所述视图的控制器上创建的,就像任何其他对象/变量一样
从控制器,可以按以下方式渲染视图和传递对象/变量:
// MyController.php
...
public function actionMyAction($id) {
// Create and manipulate $model and $searchModel
...
/*
* First param is the name of the view to be rendered
* Second param is an Associative Array with params
* that will be made available to the view.
*/
return $this->render('my-view-name', [
'model' => $model,
'searchModel' => $searchModel,
]);
}