PHP
running8
这个作者很懒,什么都没留下…
展开
-
给mysql 自带的批量更新语句增加约束条件
UPDATE yoiurtableSET dingdan = CASE idWHEN 1 THEN 3WHEN 2 THEN 4WHEN 3 THEN 5ENDWHERE id IN (1,2,3)这句sql 的意思是,更新dingdan 字段,如果id=1 则dingdan 的值为3,如果id=2 则dingdan 的值为4……where部分不影响代码的执行,但是会提高sql执行的效率。确保sql语句仅执行需要修改的行数,这里只有3条数据进行更新,而w...原创 2020-05-19 11:12:34 · 491 阅读 · 0 评论 -
laravel 如何正确在ORM里表达OR关键字
在使用laravel开发过程中,开发者经常会遇到如下的SQL,在laravel中如何正确表达类似这样的SQL:SELECT * FROM `medias` WHERE (`prov_id` = 410000 OR `city_id` = 410102) AND (`scence_id` = 101 OR `parent_id` = 10);很多laravel开发者可能会选择whereR...转载 2020-03-30 20:52:25 · 1354 阅读 · 0 评论 -
Laravel Admin 自定义 JavaScript 的正确方式
https://laravel-admin.org/ 使用的是 Pjax ,所以自定义 JS 时候需要按照 Pjax 的事件周期来。第一步加载 JS 文件app/Admin/bootstrap.phpAdmin::js('/js/admin-extended.js');第二步public/js/admin-extended.js(function($){ ...转载 2020-03-23 18:55:28 · 2581 阅读 · 0 评论 -
Laravel-admin 控制器的 form 方法里怎么获取当前模型实例 id
//model:Race if($form->isEditing()){ $id=request()->route()->parameters()['race'];}//文档提到的 $form->isUpdating(); 已废弃,用$form->isEditing() 。原创 2020-03-16 08:49:29 · 4146 阅读 · 0 评论 -
win10 Laravel storage:link 报错 symlink(): Protocol error 解决
homestead执行 storage:link 报错vagrant@homestead:~/code/test$ php artisan storage:link ErrorException : symlink(): Protocol error at /home/vagrant/code/test/vendor/laravel/framework/src/I...原创 2020-03-07 12:56:20 · 1141 阅读 · 0 评论 -
PHP 对二维数组的排序
//根据字段(键名)对二维数组$data进行降序排列function mult_array_sort($data, $key, $sort = 'ASC'){ $k = array_column($data, $key); if (strtoupper($sort) == 'ASC') { array_multisort($k, SORT_ASC, $data...原创 2019-03-01 14:57:57 · 231 阅读 · 0 评论 -
laravel批量更新多条记录
写在前面熟悉laravel的童鞋都知道,laravel有批量一次性插入多条记录,却没有一次性按条件更新多条记录。是否羡慕thinkphp的saveAll,是否羡慕ci的update_batch,但如此优雅的laravel怎么就没有类似的批量更新的方法呢?高手在民间Google了一下,发现stackoverflow(https://stackoverflow.com/questio...转载 2019-03-16 21:57:10 · 8494 阅读 · 2 评论 -
laravel 表单多字段验证_通过闭包函数来实现
控制器中写到: public function store(RunnerRequest $request, Runner $runner) { //验证此人是不是已经报过名了。 $this->validate($request, [ 'idcard' => [function($attributes, $val...原创 2019-04-14 21:37:51 · 750 阅读 · 0 评论 -
Laravel Collections数据集合(一)
Laravel 框架中使用了很多优质的第三方辅助包,Collection 就是其中的优质代表,Laravel 默认使用 Collection 对数据进行封装,使用 Collection 可以极大提升编程的效率,节省开发者大量的时间和精力,消除冗余和不必要的判断语句。使程序代码更加简洁,可读性更高。[摘自coding10.com]Collections - Sum,Max, Min,Averag...原创 2019-09-30 10:07:54 · 1093 阅读 · 0 评论 -
Laravel Collections数据集合(二)
Laravel 框架中使用了很多优质的第三方辅助包,Collection 就是其中的优质代表,Laravel 默认使用 Collection 对数据进行封装,使用 Collection 可以极大提升编程的效率,节省开发者大量的时间和精力,消除冗余和不必要的判断语句。使程序代码更加简洁,可读性更高。[摘自coding10.com]Collections - 使用 has 和 contains 方...原创 2019-10-03 14:11:09 · 144 阅读 · 0 评论 -
PHP函数自动补全字符串长度
要输出一定长度字符串的时候,可以使用PHP sprintf字符串自动填充、自动补全 。$newStr= sprintf('%05s', $str);sprintf()的功能非常灵活,上面的格式字符串中,“%05s ”表示输出成长度为5的字符串,如果长度不足,左边以零补全;如果写成 “%5s ”,则默认以空格补全;如果希望使用其它字符补全,则要在该字符前加上单引号,即形如“%'#5s ”的...转载 2018-12-16 09:10:42 · 1278 阅读 · 0 评论 -
Laravel 事件、监听与邮件通知
1、先绑定事件与监听者:app/Providers/EventServiceProvider.php protected $listen = [ 'App\Events\UserLogin' => [ 'App\Listeners\MailAdminUserLogin', ],] 2、并创建事件和监听器:PH...原创 2018-12-04 01:13:58 · 915 阅读 · 0 评论 -
laravel解决微信二次分享丢失缩略图和摘要
最近用AJAX调用微信JSSDK自定义分享图标和摘要的时候出现了问题:第一次分享正常:但从分享链接点开,再次转发分享的时候,一次分享时定义的信息全被抹杀了,又出现了那个恶心的回形针。原来:微信在进行二次分享后会给该链接自动加上from以及isappinstalled这两个参数证明该链接是二次分享过来的,会导致二次分享进行签名时失效,剩下空荡荡的链接以及白色缩略图,很是恶心。那就...原创 2018-03-20 18:41:13 · 1818 阅读 · 0 评论 -
laravel 数据模型和依赖注入,轻松删除1对多记录
有两个表:赛事表:races赛事项目表:items (包含字段:race_id)一个赛事有多个比赛项目,多个比赛项目对应一个赛事。建立模型:Race.php<?phpnamespace App\Models;use Illuminate\Database\Eloquent\Model;class Race extends Model{protected $fillable =...原创 2018-06-29 13:44:03 · 4800 阅读 · 0 评论 -
Laravel添加一个$request变量并赋值
表单中有个复选框 ,没选中的情况下,表单没有并没有发送组控制器。判断有没有这个 state表单元素和值if(!$request->state){....... }如无,直接用 $request->state=0;是无效的。应该如些: if(!$request->state){ request()->offsetSet('state', '0');...原创 2018-06-29 18:54:22 · 3750 阅读 · 0 评论 -
微信支付H5接口之获取客户端正确的IP
微信支付H5接口,就是在移动端非微信公众号、微信浏览器,移动端的其他浏览器唤起微信支付。症状:“网络环境未能通过安全验证,请稍后再试”商户侧统一下单传的终端IP(spbill_create_ip)与用户实际调起支付时微信侧检测到的终端IP不一致导致的,这个问题一般是商户在统一下单时没有传递正确的终端IP到spbill_create_ip导致。function get_client_ip() { ...原创 2018-07-11 14:00:59 · 8484 阅读 · 0 评论 -
vagrant常用命令
命令行 说明 vagrant init 初始化 vagrant vagrant up 启动 vagrant vagrant halt 关闭 vagrant vagrant ssh 通过 SSH 登录 vagrant(需要先启动 vagrant) vagrant provision 重新应用更改 vagrant 配置 vagrant des...转载 2018-08-06 22:29:48 · 292 阅读 · 0 评论 -
laravel框架5.6基础
路由 route 01Route::请求方式 ($uri,回调函数/控制器@方法)请求方式: get post put delete patch options$uri www.lampol.com/index/login 02回调函数 直接返回给浏览器控制器@方法 进入控制器方法进一步处理注意 post put delete p...转载 2018-08-25 08:48:58 · 588 阅读 · 0 评论 -
laravel 使用阿里云【邮件推送】服务发送邮件通知
使用这个包:https://github.com/HyanCat/aliyun-direct-mail1、安装:composer require hyancat/aliyun-direct-mail:dev-master2、在 config/services.php 中添加如下配置: 'directmail' => [ 'app_key' =&...原创 2018-11-21 01:18:02 · 1824 阅读 · 0 评论 -
Laravel 中文语言包
安装:composer require caouecs/laravel-lang:~3.0 1. 根据需要复制语言包到 resources/lang 目录中。:2. 修改 config/app.php 配置文件 'locale' => 'zh-CN', 3.修改注册、登录、找回密码的模板,把英文标签逐个改为: {{__('Login')}}...原创 2018-11-21 13:07:58 · 1209 阅读 · 0 评论 -
laravel 模型关联查询内存溢出问题的解决
在模型里定义一对多关系的时候就把要查的字段限制好:public function baomings(){ return $this->hasMany('App\Models\Race')->select('id','title');}原创 2018-11-26 16:45:30 · 1290 阅读 · 0 评论 -
Laravel redis队列
1、配置.envQUEUE_DRIVER=redis 2、创建队列php artisan make:job MailuserNewPostapp/Jobs/MailuserNewPost.php...public $user; public function __construct(User $user) { $this->user=$u...原创 2018-12-04 22:17:37 · 846 阅读 · 0 评论 -
Laravel 时间格式处理
Modelprotected $fillable=['title','post_at'];protected $dates=['post_at'];//日期格式化public function setPostAtAttribute($date){$this->attributes['post_at']=Carbon::createFromFormat('Y-m-...原创 2018-12-05 00:24:21 · 5954 阅读 · 0 评论 -
Laravel Gate&Policy 权限管理
其实很简单,就是两步:定制权限、判断权限。Gate闭包方式定义权限public function boot(){ $this->registerPolicies(); Cate::define('update_post',funtion($user,$post){ return $user->id==$post->user_id; ...原创 2018-12-05 15:54:05 · 1102 阅读 · 0 评论 -
Laravel 引用自定义函数的方法
1、在 app 目录下新建一个文件 helpers.php ,自己的函数全放这里。function ***($***) {Do something..... return $****;}2. 在 composer.json 文件的 autoload 字典中添加 "files":["app/helpers.php"]或:"autoload": { "files": [ ...原创 2018-02-18 15:17:34 · 510 阅读 · 0 评论