augushong

Results 108 comments of augushong

只有查询后save保存的用法可以触发数据库事件, 其余的都不是模型的标准用法.

查询范围影响的是本次数据库操作,所以查询是查询,更新是更新. 如果你希望有一个全局的关闭,可以自己设法实现, 比如设置一个静态属性,在scope的查询里先判断这个属性是否需要查询,比如: ``` public static $enableStatusScope = true; public function scopeStatus($query) { if(static::$eneableStatusScope){ $query->where('status',1); } } ``` 这样你可以通过下面的方法全局关闭: ``` User::$enableStatusScope = false; // 以后的查询就不会启用全局范围了, // 实际上全局范围仍然被调用,只不过内部的函数做了判断,没有修改query而已. ``` 这种做法很糟糕,不应该这样做. 全局范围,应该与单条数据的业务逻辑无关,应该用于sass的产品逻辑,比如,产品属于仓库,在产品设计中,页面总是进入仓库,才会查询产品,这时可以给产品设置一个全局的范围查询,即指定的仓库id.其他的比如团队,组织,公司等场景,都可以用....

你是怎么判断出来模型事件不能用的,update_time字段会自动更新吧.你换个别的字段修改试试.

感觉会不会支持的,不会为了这个组件升级整个生态的, 自己单独维护一个flysystem的分支倒是现实一点

> @augushong 其实就flysystem目录中的3个文件。。 对啊,所以真要是主流生态都跟v1版本冲突了,就不如自己维护一个分支了.

静态调用返回对象,如果前面有query,比如where之类的,则是数据库操作。你怎么写的

不应该有这个问题吧,所有进入think的url都至少有一个s参数. 怎样访问的

数组的写法倒是可以,不过算是一种妥协的解决方案,还是希望验证器能提供这个方法,或者提供一个获取属性`rule`的方法也可以.

append不支持这样做,需要多个,就直接写在一个数组里

不支持,可以自己封装一个类似的东西,利用模型事件(查询后)。 每次查询后都会调用。 这个东西我用了很多,对于关联操作,尽量不要调用,影响性能。 对于格式化处理这种可以用。