我在练习权威手册上的form表单,我打完代码之后看了眼浏览器,表单的name显示的是model层的名字,1.这个是为啥呢。2.我要怎么才能设置form表单的name呀
直接在属性配置里(options)头写name就行
在from的model里面,实现attributeLabels()方法。比如
我在练习权威手册上的form表单,我打完代码之后看了眼浏览器,表单的name显示的是model层的名字,1.这个是为啥呢。2.我要怎么才能设置form表单的name呀
直接在属性配置里(options)头写name就行
在from的model里面,实现attributeLabels()方法。比如
我先是按照手册在model层引用了Activerecord 之后view里面写了三个表单,我获取不到值啊 咋整呀 我都乱死了
Yii::$app->request->post() ( or get() )
基本的描述代码都没有啊
1、$dataProvider = $searchModel->search(Yii::$app->request->queryParams);这种模型查出来的数据 用于
<?= GridView::widget([
'dataProvider' => $dataProvider //这样的表单部件
2、
$mdoel = mdoel::find()->where($map)->one();
<?=DetailView::widget([
'model' => $model,//这种数据用于这样的表单。
我理解为第一种为搜索模型,第二种为数据模型。 我现在做一个小需求,出一张表,一个页面,但是展出方式却要用到二种表单。那我是不是要做二次model查询。才能做到。但是觉得这方法可能有缺。。如是上来问下各位。谢谢!!
你直接返回model到视图不就行了.dataprovider不也是基于model的么
在用$model->dirtyAttributes
的时候。遇到一个很奇怪的问题,以user表为例,如果在Models中rules里面定义 [['status'],'integer']
不管status的值是否改变,打印$model->dirtyAttributes都会Array([status] => 10)
,如果去掉[['status'],'integer']
,不管status的值是否改变,打印$model->dirtyAttributes
都会为空。
这个如何判断我提交的数据是否变化。
http://www.yiichina.com/question/1785
DirtyAttributes :
大概定義 => 顯現汙染的屬性
假使是 INSERT
狀態 dirtyAttributes
都應當出現填入的欄位值
以下提出 UPDATE
狀態
參考文獻 :
En :
http://www.yiiframework.com/doc-2.0/guide-db-active-record.html#dirty-attributes
Cn :
http://www.yiichina.com/doc/guide/2.0/db-active-record
$model->dirtyAttributes使用的是全等(===)校验,数据库查出来的都是string类型
public $js = [
'static/global/plugins/jquery.min.js',
'static/global/plugins/bootstrap/js/bootstrap.min.js',
'static/global/plugins/js.cookie.min.js',
'static/global/plugins/bootstrap-hover-dropdown/bootstrap-hover-dropdown.min.js',
'static/global/plugins/jquery-slimscroll/jquery.slimscroll.min.js',
'static/global/plugins/jquery.blockui.min.js',
'static/global/plugins/uniform/jquery.uniform.min.js',
'static/global/plugins/bootstrap-switch/js/bootstrap-switch.min.js',
'static/global/plugins/moment.min.js',
'static/global/plugins/bootstrap-daterangepicker/daterangepicker.min.js',
'static/global/plugins/morris/morris.min.js',
'static/global/plugins/morris/raphael-min.js',
'static/global/plugins/counterup/jquery.waypoints.min.js',
'static/global/plugins/counterup/jquery.counterup.min.js',
'static/global/plugins/amcharts/amcharts/amcharts.js',
'static/global/plugins/amcharts/amcharts/serial.js',
'static/global/plugins/amcharts/amcharts/pie.js',
'static/global/plugins/amcharts/amcharts/radar.js',
'static/global/plugins/amcharts/amcharts/themes/light.js',
'static/global/plugins/amcharts/amcharts/themes/patterns.js',
'static/global/plugins/amcharts/amcharts/themes/chalk.js',
'static/global/plugins/amcharts/ammap/ammap.js',
'static/global/plugins/amcharts/ammap/maps/js/worldLow.js',
'static/global/plugins/amcharts/amstockcharts/amstock.js',
'static/global/plugins/fullcalendar/fullcalendar.min.js',
'static/global/plugins/flot/jquery.flot.min.js',
'static/global/plugins/flot/jquery.flot.resize.min.js',
'static/global/plugins/flot/jquery.flot.categories.min.js',
'static/global/plugins/jquery-easypiechart/jquery.easypiechart.min.js',
'static/global/plugins/jquery.sparkline.min.js',
'static/global/plugins/jqvmap/jqvmap/jquery.vmap.js',
'static/global/plugins/jqvmap/jqvmap/maps/jquery.vmap.russia.js',
'static/global/plugins/jqvmap/jqvmap/maps/jquery.vmap.world.js',
'static/global/plugins/jqvmap/jqvmap/maps/jquery.vmap.europe.js',
'static/global/plugins/jqvmap/jqvmap/maps/jquery.vmap.germany.js',
'static/global/plugins/jqvmap/jqvmap/maps/jquery.vmap.usa.js',
'static/global/plugins/jqvmap/jqvmap/data/jquery.vmap.sampledata.js',
'static/global/scripts/app.min.js',
'static/pages/scripts/dashboard.min.js',
'static/layouts/layout4/scripts/layout.min.js',
'static/layouts/layout4/scripts/demo.min.js',
'static/layouts/global/scripts/quick-sidebar.min.js',
];
现在是这样的 请问如何输入这样的
请问这个public $jsOptions = ['condition' => 'lte IE9'];
应该加在哪里?
我加在了AppAsset.php里面后就变成这样了
不能单独选择两个JS文件吗?
针对ie9的单独建一个资源包,至少我是这样解决 的
http://www.yiichina.com/doc/guide/2.0/structure-assets
安装后访问requirements.php报错,提示没有文件夹,查看了下确实没有,通过composer update之后也没有 composer版本1.0.2
完全按照官网手册进行安装的,大神帮忙给看一下
xindeMacBook-Air:basic xin$ composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- yiisoft/yii2 2.0.7 requires bower-asset/jquery 2.2.*@stable | 2.1.*@stable | 1.11.*@stable -> no matching package found.
- yiisoft/yii2 2.0.6 requires bower-asset/jquery 2.1.*@stable | 1.11.*@stable -> no matching package found.
- yiisoft/yii2 2.0.5 requires bower-asset/jquery 2.1.*@stable | 1.11.*@stable -> no matching package found.
- Installation request for yiisoft/yii2 >=2.0.5 -> satisfiable by yiisoft/yii2[2.0.5, 2.0.6, 2.0.7].
Potential causes:
- A typo in the package name
- The package is not available in a stable-enough version according to your minimum-stability setting
see <https://getcomposer.org/doc/04-schema.md#minimum-stability> for more details.
Read <https://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.
Composer throw [ReflectionException] Class Fxp\Composer\AssetPlugin\Repository\NpmRepository does not exist
,我昨天也遇到一样的问题,我是直接把vendor文件夹删除,composer.lock文件删除,再执行composer install的
将composer卸载重装,再安装Yii2.0
先执行这个:
你直接就下载个安装包的了
代码如下
public function rules()
{
return [
[['phone', 'password'], 'required'],
[['phone', 'password'], 'trim'],
['phone', 'string', 'length' => [11], 'message' => '请输入正确电话号码'],
['password', 'string', 'length' => [8, 11], 'message' => '请输入8~16位的字母或数字组成的密码'],
];
}
我想通过ajax获取错误信息,所以想再controller中直接获取错误信息。
获取最近的一个错误信息 ?
自己再写个函数返回指定的文本?
有个model->getError()
先model->validate(),然后再model->getErrors()
你把第一个 [[‘phone’, ‘password’], ‘required’],去除 就能显示你自定义的提示信息了
我也是不能显示自己定义的message
1.1设置separator的方法好像已经不行了,请问2要怎么将radio横向展示呢?
yii2的GII我自动生成有下划线的CRUD 生成后为什么提示找不到页面呢?ht_collect这种表名就可以用 ht_course_atta这种的就不行了..ht_course_atta的控制器名称是CourseAttaController
难不成要变成Course_AttaController么?
我刚学,我的也有下划线的,我的views创建的时候是放在ym-user这样的文件夹里,就是CRUD创建视图的时候改成了-,可以正常访问
model里面重写fields()方法可以过滤load()时的字段,那么fields()是在哪调用的?
fields()主要作用关联数据表字段和模型属性,这样数据表改了只改fields里的字段就可以了,不用重新把控制器视图什么的都改一遍。
另外unset后不是在load时过滤而是直接删除和数据表的关联,在该模型内就好像属性或字段不存在一样。
这个貌似没有你说的那个过滤load功能啊。只是返回模型数据时候有用,比如你表里是username你想返回成nickname