谁一开始就是大神?

PHP 第64页

PHP

form表单的名字[2.0]

Tinafrog阅读(75)

我在练习权威手册上的form表单,我打完代码之后看了眼浏览器,表单的name显示的是model层的名字,1.这个是为啥呢。2.我要怎么才能设置form表单的name呀

直接在属性配置里(options)头写name就行
在from的model里面,实现attributeLabels()方法。比如

该怎么获取表单的值。[2.0]

WendyKeo阅读(75)

我先是按照手册在model层引用了Activerecord 之后view里面写了三个表单,我获取不到值啊 咋整呀 我都乱死了

Yii::$app->request->post() ( or get() )
基本的描述代码都没有啊

返回回数据模型疑问。($dataProvider,$data)[2.0]

Harryelephant阅读(76)

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,如何控制数据库不同字段是否有post变化。[2.0]

Jadesuper阅读(81)

在用$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类型

assets如何判断IE[2.0]

foreveryak阅读(77)

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',
];

现在是这样的 请问如何输入这样的
QQ图片20160414144840.png

请问这个
public $jsOptions = ['condition' => 'lte IE9']; 应该加在哪里?
我加在了AppAsset.php里面后就变成这样了

QQ截图20160414151502.png

不能单独选择两个JS文件吗?

针对ie9的单独建一个资源包,至少我是这样解决 的
http://www.yiichina.com/doc/guide/2.0/structure-assets

跪求大神yii2通过composer安装后没有vendor[2.0]

fationLion阅读(75)

安装后访问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
先执行这个:
你直接就下载个安装包的了

rules()验证错误的时候怎么获取错误信息?[2.0]

Slyhappy阅读(83)

代码如下

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

yii2的GII我自动生成有下划线的表名CRUD问题[2.0]

Lihappy阅读(75)

yii2的GII我自动生成有下划线的CRUD 生成后为什么提示找不到页面呢?ht_collect这种表名就可以用 ht_course_atta这种的就不行了..ht_course_atta的控制器名称是CourseAttaController
难不成要变成Course_AttaController么?

我刚学,我的也有下划线的,我的views创建的时候是放在ym-user这样的文件夹里,就是CRUD创建视图的时候改成了-,可以正常访问

model里面fields()方法在哪调用的?[2.0]

likelyStone阅读(70)

model里面重写fields()方法可以过滤load()时的字段,那么fields()是在哪调用的?

fields()主要作用关联数据表字段和模型属性,这样数据表改了只改fields里的字段就可以了,不用重新把控制器视图什么的都改一遍。
另外unset后不是在load时过滤而是直接删除和数据表的关联,在该模型内就好像属性或字段不存在一样。
这个貌似没有你说的那个过滤load功能啊。只是返回模型数据时候有用,比如你表里是username你想返回成nickname

登录

找回密码

注册