500miles
先说解决办法, 改成下面的形式 :
$query = Equip::find()->andFilterWhere(['is_delete' => 0]); 或者 $query = Equip::find()->andFilterWhere(['and', ['is_delete' => 0]]);
接下来分析
为什么会出现这么有趣的现象
is_delete = 1
可以达到预期,不加这个条件
也可以达到预期, 偏偏is_delete = 0
有问题原因是按照你写的那样, 最终生成的
sql
会是 :select * from table where is_delete and 0 (或者1)
;有意思的是,
select * from table where fieldName
这样的语句并不会报错.我试了下,
fieldName
为空, 为null, 为0的时候, 查不到.其他时候均能查到, 但是此种情况下, 不会用到索引.
1, $id, $module这2个值谁传进来的 ?
是
Module
传进来的;Module
通过路由
orcontrollerMap
得到controller
的Id
, 再把自身传进来, 就实例化出controller
了;2, 基础版中,没有模块,
getModules()
方法为什么运行进来,什么时候调用的 ?首先 基础版中, 是有模块的, 并且可以嵌套多层;
Yii
本身就是建立在Module
的基础上,Yii::$app
也是一个Module
.至于什么时候调用,
在框架中, 触发
controller
中的beforeAction
和afterAction
事件时, 会调用祖宗Module
执行相应的事件.对于开发者来说, 你通过
controller
调用getModules
方法 , 或者 访问controller
的modules
属性时候 就调用了@xyf90314 你没有
controllerMap
当然不会执行到这里. 有这个就运行了. 没有的话就按路由实例化controller
了1, $id, $module这2个值谁传进来的 ?
是
Module
传进来的;Module
通过路由
orcontrollerMap
得到controller
的Id
, 再把自身传进来, 就实例化出controller
了;2, 基础版中,没有模块,
getModules()
方法为什么运行进来,什么时候调用的 ?首先 基础版中, 是有模块的, 并且可以嵌套多层;
Yii
本身就是建立在Module
的基础上,Yii::$app
也是一个Module
.至于什么时候调用,
在框架中, 触发
controller
中的beforeAction
和afterAction
事件时, 会调用祖宗Module
执行相应的事件.对于开发者来说, 你通过
controller
调用getModules
方法 , 或者 访问controller
的modules
属性时候 就调用了Yii::createObject($this->controllerMap[$id], [$id, $this]);
Yii::createObject($className, [$id, $this]);
这是
Yii
创建实例的方式, 实现了依赖倒置
的设计理念.具体的实现在
\yii\di\ServiceLocator
和\yii\di\Container
以及辅助的\yii\di\Instance
应该是不会自动带上
x-csrf-token
这个头信息的吧.你遇到的过
带
和不带
的情况, 都是一样的请求方式么?都是自己手写的
ajax
? 而不是用的框架带的js
库(比如yii.activeForm.js
)里面的方法发起的请求?如果方便的话 请提供多一些信息.
确实是这个原因,把bower-asset中的文件都移到bower 就好了,不知道什么原因造成的。
@Ricky_nie 我之前遇到这个情况, 把
composer
版本升级到1.0.0-alpha11 (2015-11-14)
就可以了. 目前都没有比这个版本更新的了. 当然有一个snapshot
, 不过没人用吧...搞不懂composer
为什么一直是alpha
版本- 500miles 回答了问题 Controller.php源码
1, $id, $module这2个值谁传进来的 ?
是
Module
传进来的;Module
通过路由
orcontrollerMap
得到controller
的Id
, 再把自身传进来, 就实例化出controller
了;2, 基础版中,没有模块,
getModules()
方法为什么运行进来,什么时候调用的 ?首先 基础版中, 是有模块的, 并且可以嵌套多层;
Yii
本身就是建立在Module
的基础上,Yii::$app
也是一个Module
.至于什么时候调用,
在框架中, 触发
controller
中的beforeAction
和afterAction
事件时, 会调用祖宗Module
执行相应的事件.对于开发者来说, 你通过
controller
调用getModules
方法 , 或者 访问controller
的modules
属性时候 就调用了 - 500miles 回答了问题 子视图中的$model 是怎么传过来的
yii
在渲染你配置的itemView
视图时, 把变量传入的, 具体方式也是通过render
想了解具体方式 请看
yii\widgets\ListView
在开发
api
吧? 定义了响应json
格式吧? 估计八成是的, 是的话请往下看.原因:
echo "hello";
的时候, 直接塞进缓冲区, 最后返回给客户端,yii
不会参与处理.return "hello";
的时候,yii
框架会在最后响应的时候, 做一个json
的格式化处理.既然选择了使用
json
格式, 带引号就是正确的方式.这个事情 如果要做的很到位 很不容易 应该能算一个专业的课题了 :
舆情监控
最常见的 比如 : x你老m f(ck 等.... 随便变个花样 都很难搞
简而言之
如果只要求定位到关键词列表, 不用那么复杂 用php内置函数足矣
如果要求严格 做C扩展吧 要涉及很多复杂的算法 不简单 之前看过一篇介绍相关算法的文章 : http://www.cnblogs.com/sumtec/archive/2008/02/01/1061742.html
@word1018808441 我试了一下 长度1500的字符串 用
stripos
循环查10000次, 每次循环查找三个长度为10的词 总的执行时间只有 0.37秒左右 用正则大概是0.44秒左右这个事情 如果要做的很到位 很不容易 应该能算一个专业的课题了 :
舆情监控
最常见的 比如 : x你老m f(ck 等.... 随便变个花样 都很难搞
简而言之
如果只要求定位到关键词列表, 不用那么复杂 用php内置函数足矣
如果要求严格 做C扩展吧 要涉及很多复杂的算法 不简单 之前看过一篇介绍相关算法的文章 : http://www.cnblogs.com/sumtec/archive/2008/02/01/1061742.html
@word1018808441 既然是繁忙的社区, 估计帖子大多几十字, 甚至几个字, 几百上千字的估计少数 几千字的可能更少... 我觉得完全没问题