手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2024年11月的文章

取消[连供墨盒]的文章置顶

疫情过去了,娃的学校也不需 天天打印了。因此打印机也已经吃灰了。所以也就不需要记这些事情

原标题是:canon连供吸墨相关问题 
也就再也不置顶了。

我一直认为已经没用的laravel-ide-helper还在更新

 如题,真没想到barryvdh/laravel-ide-helper还在更新。毕竟现在phpStorm已经功能这么强大了,我想它应该是没有用了吧!结果在看到LaravelQuery的插件时,提到了它,同时提到的还有LaravelIdea。毕竟 LaravelIdea是要钱的。还挺贵。所以又composer require了一下barryvdh/laravel-ide-helper。

 
然后php artisan ide-helper:model,发现他把scopeFilter这样的方法加进注释啦,这个确实挺方便。不然每次我都 要自己在写了scope方法后,还得主动到注释里加上。否则 IDE会认不出 filter()后的方法。
 
例如:
PHP代码
  1. function scopeIsActive($query ){  
  2.     $query->where('status','=','active');  
  3. }  
在用的时候 Model::query()->isActive()->get(); 写到 isActive()后,后面的方法都认不出来。
因此,在这时候 只能在Model类里加入
PHP代码
  1. /** 
  2.  * @method static \Illuminate\Database\Eloquent\Builder|ModelName isActive() 
  3.  */  
当然不是不能写,只是每次这么写就有点累罢了
其他的生成对 phpstorm来说感觉用处没有那么大,当然如果你象官方那样进行扩展的话,倒也不是不可以。
 
 

belongsToMany的备份

 纯备份,长时间不用的时候 直接就忘了

 
PHP代码
  1. class Shop{      
  2.     /** 
  3.      * 员工 
  4.      * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany 
  5.      */  
  6.     public function staffs()  
  7.     {  
  8.         // 1、目标类 UnionUser,
  9. // 2、中间表的表名 pivot: union_user_store,
  10. // 3、中间表对应当前表的字段 :shopcode ,
  11. // 4、中间表对应目标类的字段 usercode  
  12.         //  当关联不是ID时,需要有5、6参数  
  13.         // 5、当前类对应 3的字段 (code -> 3:shopcode)  
  14. // 6、目标类对应4的字段 (usercode -> 4:usercode )  
  15.         return $this->belongsToMany(UnionUser::class, UnionUserStore::getTable(), 'shopcode''usercode''code', UnionUser::USERCODE);  
  16.     }  
  17. }  
 
---EOF--

ElementUI的form校验的number

 一般而言,elementUI的prop+rules可以用来对字段进行校验。大多数情况下感觉都没什么问题,毕竟官方的例子摆在那里。element-plus的例子没有的,element-ui2的例子也比较全。

但element-plus和elementui中都 没有对number类型进行介绍,如果直接{type:'number',....} 不管你填入什么值 ,都会报错,即使你用el-input+type="number",效果仍然一样
这是因为vue对所有的input默认都是当成string来解析的,因此你对一个string判断number,肯定就是失败的
网上80%的例子都是说采用:v-model.number="form.xxx" 来处理,确实,这样处理是OK的,但你会发现一个很严重的问题,那就是能输入的内容都是integer了。没法有小数点
 
这时候其实还是可以看element-plus所使用的async-validator的官方例子,因为黑夜的象{required:true},{type:"array"}等,都是来自于async-validator的官方支持,而官方是支持type="number"的。现在剩下的其实就是将el-input中的内容转为Number进行判断。仅此而已
 
官方的例子中有transform,这是一个钩子函数,用于验证前将数据进行简单的转换,比如我们就可以{type:"number",transform: Number},如果不能转成Number,其实也就失败了
 
---
临时写的,就先这样,后续有机会慢慢写的更详细一点,也或许就不再写了
参考:
1、https://github.com/yiminghe/async-validator
2、https://www.cnblogs.com/alabo1999/p/14990310.html (正好找到这一篇足够详细,估计我也不会再多写了)
 
 

小型 vue2项目快速升级到 Vue3的小踩坑

1、参考官方文档,将一些不用的 filters ,等去掉

2、将原来的全局变量挂载,尽量去掉,用的时候 再加载好了,现代 IDE 基本上都会在你用的时候 自动加载进来
3、如果不使用 compositionAPI,基本上就是原来的代码不变
4、layout 写在 router 里比写在页面里方便 (如果是基于 inertiaJS 的 laravel 项目,当我没说)
5、用了 vite 后,原来的 process.env,要使用 import.meta.env来获取,import.meta.env,只认 VITE_开头的变量
6、用 autoImport/unplugin 后确实方便很多,但如果用了 element-plus 又用了 tailwindcss,要注意引入的顺序,否则象 button 上的样式可能会被覆盖