wy1272086709

第 315 位会员

会员
个人信息
  • 加入于 2016-01-20 10:10:29
  • 最后登录时间 4年前
  • 签名 我就是我,是颜色不一样的烟火
个人成就
  • 发表文章次数 17
  • 发布回复次数 17
  • 个人主页浏览次数 17
如何使用YII2 构建beforeAction5年前

@forecho #3楼 多谢,挺厉害哦,下次我多思考了:smile:

如何使用YII2 构建beforeAction5年前

@forecho #1楼 我希望他只在actionIndex() 前执行,在actionIndex() 后执行,其他的在控制器中的action并不会执行。

请问唯一性验证具体的执行方式,以及消耗。避免重复提交6年前

@forecho [#2楼](#comment2) 可以设置延时,200ms 之后,将按钮disabled 属性删除掉.

如何使用yii来表达下面这个SQL语句6年前
$db = \Yii::$app->getDb();
        $select = [
            'c1'=>new \yii\db\Expression('(select count(*) from eleFenceCenter.elefence_menu)'),
            'c2'=>new \yii\db\Expression('(select count(*) from eleFenceCenter.elefence_auth_item)')
        ];
        $q = new \yii\db\Query();
        $rs = $q->select($select)->one();

用这种方式可以实现.

Model fields() 方法的使用6年前

这个是需要使用`ArrayHelper::toArray()` 才起作用的哈?

Yii 框架中调用joinWith()方法后,如何只查询需要的字段。6年前

@forecho #1楼 比如这段代码:

  $policeQuery = ServiceInfo::find()->alias('service')->where(["`service`.`area_code`"=>$areaArr])
        ->select([
           '`service`.`area_code`',
           'police_code'=>"IF(service.police_code<>'',service.police_code,service.service_code)",
           "police_name"=> "IF(`service`.`police_code`<>'',`police`.`police_name`,`service`.`service_name`)",
           "type"=>"IF(`service`.`police_code`<>'','Police','Service')"])
        ->joinWith([
            'police' => function ($q){
                return $q->alias('police')->select(['police_code','police_name']);
            }
        ])->distinct(TRUE)->orderBy("`service`.`police_code`")->all();

最后得到的结果数组中,肯定含有police 的键值 我当时是想怎么查询想要的键 比如不要police键。

有没有好的方法能获取增删改等操作的SQL语句?6年前

@xjdata ,

namespace app\components\db;
use yii\db\Command;
class Connection extends \yii\db\Connection
{
    public static $instance = null;
    
    public function createCommand($sql = null,$params = [])
    {
        if (!self::$instance)
        {
            $command = new $this->commandClass([
                'db' => $this,
                'sql' => $sql,
            ]);
        }
        else
        {
            $command = self::$instance;
            $command->setSql($sql);
        }
        return self::$instance = $command->bindValues($params);
    }
    
    public function getLastSql()
    {
        $instance = self::$instance;
        return $instance->getRawSql();
    }
}

然后更改db.php配置项`php 'class' => 'app\components\db\Connection' ` 然后在具体的SQL操作后,使用\Yii::$app->getDb()->getLastSql(),貌似就可以得到最后操作的SQL了。

有没有其他的影响,就不清楚了哦 :smile:

如何实现ajax 请求能自动跳转6年前

@forecho ,ajax 请求跳转,JS客户端要有这部分代码:(yii.js应该有类似的代码功能)

$(document).ajaxComplete(function (event, xhr, settings) {
        var url = xhr.getResponseHeader('X-Redirect');
         if (url) {
             window.location = url;
         }
    });
如何实现ajax 请求能自动跳转6年前

@forecho #1楼 跳不了啊 确定可以跳么?用php的header针对ajax请求也不能跳转啊。
还是jQuery和YII的版本和你的不一样??

yii2中 static:: self::的区别6年前

static貌似是静态绑定,哪个对象调用的,便指向对应的对象,不一定就是子类。
self 应该是指向当前所在类的。

聊聊 PHP 与 JavaScript 中的逻辑(&& 和 ||)操作符6年前

貌似你这里PHP的&&和and 是一个效果哦。