wsd15321

wsd15321

这家伙有点懒,还没写个性签名!

  • 财富值255
  • 威望值20
  • 总积分485

个人信息

  • offset是指从第几行开始,比如一页10行,那第一页offset是0,第二页offset就是10

  • 2018-04-06 已签到
    连续签到1天,获得了5个金钱
  • 回复了 的回答

    model 实现了ArrayAccess接口,这个方法是ArrayAccess接口提供的链接参考

    // 可以使你像使用数组一样给对象的属性赋值
    $model = new class extends Model {
        public $name;
        public $age;
    
        public function offsetSet($offset, $item)
        {
            var_dump('this is offset set');
            parent::offsetSet($offset, $item); // TODO: Change the autogenerated stub
        }
    };
    $model->name = 'johnny';
    $model['age'] = 25;
    var_dump($model);
    

    原来是这样啊,我还以为是yii的方法,多谢大大了

  • 提出了问题
    关于源码里的model有个不懂的地方
  • 2018-04-04 已签到
    连续签到2天,获得了10个金钱
  • 2018-04-03 已签到
    连续签到1天,获得了5个金钱
  • 回复了 的回答

    yii\base\Model::validateMultiple()?

    看了下实现方式就是foreach循环啊,这跟自己循环好像没什么区别,效率没提升

  • 回复了 的回答

    采用 $modelrules 来验证不会慢,除非你有数据库表之类耗费性能的判断,比如 unique 规则

    示例:

    <?php
    $inserts=[
        [
            'test',177,
        ],
        [
            'test2',117,
        ],
        ...
    ];
    $model = new TestModel();
    foreach($inserts as $insert){
        $model->name = $insert[0];
        $model->height = $insert[1];
        if(!$model->validate()){
            throw new \Exception('invalid data');
        }
    }
    $columns = ['name','height'];
    \Yii::$app->db
              ->createCommand()
              ->batchInsert('table',$columns,$inserts)
              ->execute();
    

    恩,我没说清楚,我要新增的数据和其他表有关联的,用的规则肯定要查数据库,这个必须要验证的

  • 2018-02-01 已签到
    连续签到4天,获得了20个金钱
  • 回复了 的回答

    采用 $modelrules 来验证不会慢,除非你有数据库表之类耗费性能的判断,比如 unique 规则

    示例:

    <?php
    $inserts=[
        [
            'test',177,
        ],
        [
            'test2',117,
        ],
        ...
    ];
    $model = new TestModel();
    foreach($inserts as $insert){
        $model->name = $insert[0];
        $model->height = $insert[1];
        if(!$model->validate()){
            throw new \Exception('invalid data');
        }
    }
    $columns = ['name','height'];
    \Yii::$app->db
              ->createCommand()
              ->batchInsert('table',$columns,$inserts)
              ->execute();
    

    用model规则就相当与每行都会对数据库进行查询,这速度当然会受影响

见习主管 等级规则
485/500
资料完整度
10/100
用户活跃度
0/100

Ta的关注

0

Ta的粉丝

0

Ta的访客

6