谁一开始就是大神?

PHP 第64页

PHP

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

Slyhappy阅读(93)

代码如下

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阅读(84)

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

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

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

likelyStone阅读(82)

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

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

YII2中自己写的自义函数怎么调用?[2.0]

Kimlemon阅读(88)

如题,我自己写了一个自定义函数 按照YII2规范 应该放在YII2中哪里,在模板中想调用 应该怎么调用 。?谢谢

写个 helper 类放在 app\components\ 里,调用跟 yii\helpers\Html 一样的方式
可以看下这个 自定义函数放哪儿
写一个helper,然后里面的方法用静态的

添加语句问题,有没有较真的兄弟呀?[2.0]

ecyEagle阅读(86)

$info=array('name'=>$model->name,'E_mail'=>$model->email,'phone'=>$model->phone);

上面的语句和下面的语句有什么区别 ,打印结果都一样

$info['name'] = $model->name;
$info['E_mail'] = $model->email;
$info['phone'] = $model->phone;

为什么上面的存储失败 下面的可以存储进数据库

第一个是初始化一个数组,然后覆盖了$info,此时$info就是一个纯数组,所以调save()没用,第二个是给$info对象的属性赋值,赋完值再调save
好好学一下markdown语法,不要每次发帖都要我帮你改。另外这位同学今天早上在教程里发垃圾帖,在这里警告你一次,如果再发就封号了。
一看2个 $info 就不相同,数组有待加强
字段要写完整,如果表还有必填字段,都要赋值
$info=array(...) // 新建一个数组,并赋值给 $info
$info->save(); // save()(ActiveRecord extends) BaseActiveRecord 的方法

多表连接查询[2.0]

SlyKeo阅读(81)

表a

agcy_id
nm

表b

id
cus_id

表c

id
agcy_id

关系
表a 1:n 表b
表a 1:n 表c
表b 与 表c 没关系

a::find()->select('*,count(cus_id) as cus_num')
	 ->join('LEFT JOIN','b','b.cus_id=a.agcy_id')
	 ->groupBy('cus_id');

a::find()->select('*,count(c.agcy_id) as agcy_num')
	 ->join('LEFT JOIN','c','c.agcy_id=a.agcy_id')
	 ->groupBy('agcy_id');

想要连接3张表,里面有a.*,cus_num,agcy_num
怎么写语句?
求解!

你可以这样写
$query=a::find();
$query->select(‘a.,b.,c.*’)

这个为啥写了两个email[2.0]

coolLion阅读(86)

<?php

namespace app\models;

use yii\base\Model;

class EntryForm extends Model
{
    public $name;
    public $email;

    public function rules()
    {
        return [
            [['name', 'email'], 'required'],
            ['email', 'email'],
        ];
    }
}

一个是email字段,一个是验证是否是email
第一个是必填,第二个是验证格式

为啥第一个要大写呀[2.0]

acgbubble阅读(86)

use Yii;
use yii\web\Controller;

别人写的框架,不是你写的;当然,你要是觉得第一个大写不好看,你可以自己写框架,自己定义基础类;
(^__^) 嘻嘻
http://www.yiichina.com/doc
文档多看看,都是些基础性知识.
找下度娘,都有答案.
规范化,定制化

form表单的名字[2.0]

Tinafrog阅读(83)

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

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

登录

找回密码

注册