谁一开始就是大神?

PHP 第60页

PHP

控制器里$Ticket=Ticket::find()查找的数据,在控制器里怎么打印出数据?[2.0]

LvyLion阅读(39)

$Ticket = Ticket::find()->where("typeId=$id");
echo "<pre>";
var_dump($Ticket);

打印出来的:

object(yii\db\ActiveQuery)#58 (27) {
  ["sql"]=>
  NULL
  ["on"]=>
  NULL
  ["joinWith"]=>
  NULL
  ["select"]=>
  NULL
  ["selectOption"]=>
  NULL
  ["distinct"]=>
  NULL
  ["from"]=>
  NULL
  ["groupBy"]=>
  NULL
  ["join"]=>
  NULL
  ["having"]=>
  NULL
  ["union"]=>
  NULL
  ["params"]=>
  array(0) {
  }
  ["_events":"yii\base\Component":private]=>
  array(0) {
  }
  ["_behaviors":"yii\base\Component":private]=>
  array(0) {
  }
  ["where"]=>
  string(9) "typeId=42"
  ["limit"]=>
  NULL
  ["offset"]=>
  NULL
  ["orderBy"]=>
  NULL
  ["indexBy"]=>
  NULL
  ["modelClass"]=>
  string(21) "backend\models\Ticket"
  ["with"]=>
  NULL
  ["asArray"]=>
  NULL
  ["multiple"]=>
  NULL
  ["primaryModel"]=>
  NULL
  ["link"]=>
  NULL
  ["via"]=>
  NULL
  ["inverseOf"]=>
  NULL
}

$Ticket = Ticket::find()->where("typeId=$id")->asArray()->all();
用静态方法 findOne 你这个只是得到一个模型实例
你首先要查询出来数据,然后才可以打印哦
查询数据的方法
$Ticket = Ticket::find()->where("typeId=$id")->asArray()->all(); 查询多条
$Ticket = Ticket::find()->where("typeId=$id")->one(); 查询单条

JqueryAsset与Asset自己设置的jQ冲突问题,怎么解决?[2.0]

Markfans阅读(46)

在用activefrom的时候与自己再Asset设置的jq冲突了
asset能注销当前模板asset的jq么?怎么搞?- –

****问题已经解决了******
在依赖中添加 这个就好了- –

    public $depends = [
        'yii\web\YiiAsset',
    ];

谢谢楼主的分享,用了楼主的方法。粗体我也解决了问题粗体

yii2.0save数据后字段为null[2.0]

Cindyqueen阅读(42)

属于模型的save方法保存数据后,主键自增了,但是其他的字段值都是null,求解

检查下model的rules,要入库的字段rules里没有的话,均为null

前端界面哪家好[2.0]

fationlove阅读(40)

想自己开发一个和本网站类似的交流网站,不知道哪有好的前端界面

刚开始先用bootstrap把网站搭出来,然后在自己自定义一些样式啥的。也可以用基于bootstrap的一个模板,例如flatUI、ace等等
bootstrap大法好
bootstrap大法好

在实际开发中,gii用的多,还是手动创建多[2.0]

Kimtom阅读(44)

感觉gii用的不是很习惯,可能是喜欢了编码的原因吧。那么在实际开发中,gii用的多,还是手动创建多

哪个顺手用哪个.
量小,先gii再手动修改
量大,调整好gii模板再生成
gii 挺方便,模板也可以自己定义,挺省事省时的
gii 比较方便
gii模板 调整好了 用的很爽哦
大部分都是gii先,然后再手改下就ok~
我是gii先生成,再修改。快给我分。

请问获取到object类型的数据如何转换成数组[2.0]

Neodolphin阅读(43)

是object类型,不是std Object这种
如下:

object(test\myyii\models\Customer)#67 (8) { ["_attributes":"yii\db\BaseActiveRecord":private]=> array(7) { ["id"]=> int(7) ["username"]=> string(6) "老王" ["admin_id"]=> string(1) "0" ["company_id"]=> string(1) "2" ["id_card"]=> string(18) "510321199201012234" ["telphone"]=> string(11) "15877556633" ["created_at"]=> int(1467104334) } ["_oldAttributes":"yii\db\BaseActiveRecord":private]=> array(7) { ["id"]=> int(7) ["username"]=> string(6) "老王" ["admin_id"]=> string(1) "0" ["company_id"]=> string(1) "2" ["id_card"]=> string(18) "510321199201012234" ["telphone"]=> string(11) "15877556633" ["created_at"]=> int(1467104334) } ["_related":"yii\db\BaseActiveRecord":private]=> array(0) { } ["_errors":"yii\base\Model":private]=> NULL ["_validators":"yii\base\Model":private]=> NULL ["_scenario":"yii\base\Model":private]=> string(7) "default" ["_events":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> array(0) { } }

ActiveRecord:查询的直接加上asArray();
$userAll = User::find()->asArray()->all();
这对象本身就可以当数组用,因为他实现了ArrayAccess接口

YII2高级源码分析中一个不明白的问题[2.0]

ecytom阅读(40)

public function validatePassword($attribute, $params)
{
    if (!$this->hasErrors()) {
        $user = $this->getUser();
        if (!$user || !$user->validatePassword($this->password)) {
            $this->addError($attribute, '用户名或密码错误!');
        }
    }
}

/**
 * Logs in a user using the provided username and password.
 *
 * @return boolean whether the user is logged in successfully
 */
public function login()
{
    if ($this->validate()) {
        return Yii::$app->user->login($this->getUser(), $this->rememberMe ? 3600 * 24 * 30 : 0);
    } else {
        return false;
    }
}

高级版用户登陆验证中,可以看以用的是 validate 这个方法,但是实际用的是 validatePassword (这个从错误提示中可以看出)
请问这是怎么回事?

这有什么不明白的,validatePassword方法是rules中对字段password自定义的验证,先调用$this->validate()才有validatePassword!

如何记录一个正在填资料的页面状态

lovelyFox阅读(43)

今天写一个程序时,在填资料时填到一半,不小心按到回车键,然后页面刷新了,然后辛苦半天填写的资料就没有人。有什么办法可以回到刚刚填写的页面,让那些辛苦填了半天突然不知道什么原因就资料就没有了还能恢复到当前状态呢?

给你一个思路

};
//如果用户留在了页面,就执行下面这个。
function beforeloadResult () {
alert(‘你还在本页面’);
}

不用确认用户表单是否提交,只要打开页面超过一定时间就需要确认才可以离开。
很多浏览器返回上一页面可以保留资料,但页面刷新一般不会保留.
你要记录就用本地cookie记录未完成的资料咯
我们项目中 现在有这个功能 我们采用的思路就是 用户每输入一个 就保存到redis中 输入完全点击确认会保存到数据库中 假如误操作 进入这个页面 会从redis中 读取 以前输入的值

yii2如何执行原生的SQL删除语句啊?[2.0]

momoStag阅读(38)

如题 UserComment::deleteAll(['id' => [$id_list]]); 我在这种状态 删除不掉 id in() 这种的原生SQL,怎么写呢。$id_list里的字符串已转换成 '2','3','4' 这样子的了。。

这样写,你看行不行?
$id_list里面是数组
。。。转成字符串你再加个[]干啥

登录

找回密码

注册