laravel
大唐锦绣
一名不停成长的全栈开发工程师
展开
-
Laravel关联查询中with和select同用的坑
前言: Laravel 的关联查询的原理就是先分别查出模型自身的数据和关联模型的数据,再通过定义的主键ID和外键ID进行关联查询。所以模型自身的数据在 select 时的必需字段必须要有定义关联是的主键ID(或自定义的关联字段),同样,关联模型的数据在select时的必需字段也要有定义关联时的外键ID(或自定义的关联字段).所以,以下的写法,是查询不到user,avatar字段的// 获取评论列表数据,同时返回用户信息和头像信息$comments = ...原创 2022-01-20 11:54:02 · 2141 阅读 · 0 评论 -
关于laravel实现OSS-STS授权前端直传(前后端代码)
关于阿里云 OSS 的介绍请参考官方文档:阿里云 OSS。出于账号安全的考虑,前端使用 OSS 服务需要走临时授权,即拿一个临时凭证(STS Token)去调用 aliyun-oss SDK。关于临时授权请参考:RAM 和 STS 介绍,RAM 子账号,STS 临时授权访问 OSS。前端上传文件到阿里云的相关操作可参考:浏览器端上传文件了解以上概念之后,接下来可以去阿里云 OSS 的控制台进行相关的设置了(前提是开通了 OSS 服务)。阿里云 OSS 控制台配置1. 创建 Bucket原创 2021-07-21 17:12:27 · 627 阅读 · 1 评论 -
使用laravel5.8和passport用户验证,未登录提示Unauthenticated,应该返回401,却是500错误
在AppServiceProvider的boot方法中加入:app('Dingo\Api\Exception\Handler')->register(function(AuthenticationException $exception) { return response()->json([ 'message' => 'Unauthenticated' ],401); });...原创 2021-04-29 11:07:17 · 1001 阅读 · 0 评论 -
docker本地laravel容器项目执行报错Permission denied
前言:There is no existing directory at "/Users/xxx/xxx/storage/logs" and its not buildable: Permission denied百度挺多解决方式,并尝试。最后还是以以下命令解决php artisan route:clearphp artisan config:clearphp artisan cache:clear...原创 2021-01-11 09:49:01 · 539 阅读 · 1 评论 -
laravel-passport报错Replicating claims as headers is deprecated and will removed from v4.0. Please man
我最近在使用laravel/passport:7.0版本的时候,最近遇到了此异常。目前只能暂时将lcobucci/jwt:3.4.0软件包降级到lcobucci/jwt:3.3.3Replicating claims as headers is deprecated and will removed from v4.0. Please manually set the header if you need it replicated.堆栈跟踪:<span style="color:v.原创 2021-01-06 17:46:39 · 3314 阅读 · 0 评论 -
使用Element-UI框架的upload组件直传视频至七牛云(代码教程)
前言:七牛云是一个不错的云服务提供商,尤其是其对象存储和cdn是有一定的免费额度,对于小众开发者来说还是很划算的。为了更好的用户体验和上传速度,决定通过七牛云存储来上传视频文件。前情图示: 图片来源:使用Element UI框架(基于vue2.0)的upload组件上传图片至七牛云一、找到你七牛云存储...原创 2020-04-29 16:04:40 · 1141 阅读 · 0 评论 -
Laravel:Uncaught ReflectionException: Class view does not exist
前言:今天,使用walle2.0来部署我的网站,部署成功后发现了一个奇异的问题,下面我们来说说一、错误内容:2020/04/02 17:31:39 [error] 1250#0: *17 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught ReflectionException: Class view do...原创 2020-04-02 18:11:40 · 4085 阅读 · 0 评论 -
使用 laravel-cors 实现 Laravel 的跨域配置,并避免预检行为的发生
使用 laravel-cors 实现 Laravel 的跨域配置一、需求一个项目需要进行前端跨域,不适用 jsonp。因此需要进行 cors 的设置。最开始的时候,我使用的是路由中间件的方式,但是发现中间件不起作用。// 路由中间件public function handle($request, Closure $next){ $response = $next...转载 2019-10-18 09:56:35 · 6577 阅读 · 0 评论 -
laravel优雅的分表、关联查询、分页查询,手册方法的熟练运用。
前言:看到了一篇不错的文章前几天写了一遍关于laravel分表关联的查询,但是我个人觉得还不算完美,于是今天重新看了一下laravel模型的底层代码,终于写出我暂时觉得最满意的代码-laravel风格,简洁、优雅是核心。下面直接上demo代码,主要是3个表,一个用户表,一个是用户送礼表,送礼表按月分表user表id用户IDnickname昵称<?phpnames...转载 2019-08-09 16:29:58 · 1986 阅读 · 0 评论 -
Laravel使用DB的select查询时,在查询结果中增加一个字段并指定固定值
前言:假设在关联查询中(参考巧用union联合查询实现对分表或相似结构表的多表操作),查询出三张表的含有id和title等相同字段的数据N条,现在需要有一个字段来分清这N条数据属于那张表查询到的。实现:我们在查询的时候,就可以在返回结果中新增一个字段table_name,并指定值为指定表名。select *,"videos" as table_name from video...原创 2019-08-08 15:57:35 · 8301 阅读 · 0 评论 -
巧用union联合查询实现对分表或相似结构表的多表操作
前言:数据库分表就是将单个数据库表进行拆分,拆分成多个数据表,然后用户访问的时候,根据一定的规则,让用户访问不同的表,这样数据分散到多个数据表中,减少了单个数据表的访问压力。提升了数据库访问性能。分表的目的就在于此,减小数据库的负担,缩短查询时间。今天使用union联合查询是实现横向分表或相似结构表(笔者的使用场景)的多表操作场景:基于laravel。对文章,视频,图集数据的回收查询...原创 2019-08-08 11:00:00 · 1364 阅读 · 0 评论 -
laravel使用l5-repository的RequestCriteria类通过url参数设置过滤接口返回参数,支持between
前言:l5-repository是一个很强大的扩展,Laravel中必不可少.推荐一下笔者之前写过关于它的一些博客 laravel5.7加入l5-repository l5-repository的使用 laravel l5-repository使用Criteria实现复杂查询 (1)本章主要说明如何设置自己的 RequestCriteria类并支持betw...原创 2019-07-17 16:33:20 · 1415 阅读 · 0 评论 -
Laravel 使用GuzzleHttp请求第三方https接口报错
错误提示: cURL error 60: Peer's certificate issuer has been marked as not trusted by the user. (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)解决方法$client->setDefaultOption('verify',...原创 2019-06-19 14:41:10 · 11285 阅读 · 2 评论 -
PHP使用intervention-image实现对图片的加入文字,图片等添加编辑功能.
前言:作为一名全栈开发,和图像处理打交道是习以为常,主要是以前端为主.对于前端来说,图像处理都还好说,也比较简单。但对于应用后台,或者接口而言,毕竟主要工作是处理数据的,图像处理方面比较少,但是现在后台处理图片功能,也会越来越多,以下举几个例子:(1)特定活动海报,(电商app常见)(2)个人名片(笔者基于此开发功能)(3)各种各样的分享所以今天特向 PHP 工程师们推荐一个 I...原创 2019-05-10 14:59:57 · 6373 阅读 · 3 评论 -
laravel完美实现跨数据库关联查询
关联查询也可以作为强大的查询构造器使用,提供了强大的链式调用和查询功能。在laravel中使用model,有几种关联:一对一 一对多 一对多(反向) 多对多 远层一对多 多态关联 多对多多态关联因为某些需求,我们需要使用到跨库关联查询.一开始以为model的$connection属性能起到作用。但是其实比没有起到作用我们正常的关联代码是(无法跨库):public ...原创 2019-03-25 10:16:06 · 9412 阅读 · 9 评论 -
laravel5.6 artisan 命令列表(持续维护更新)
目录全局篇功能篇全局篇查看artisan命令 (1)php artisan (2)php artisan list查看某个帮助命令 (1)php artisan help make:model查看laravel版本 (1)php artisan --version使用 PHP 内置的开发服务器启动应用 (1)php a...原创 2018-08-14 10:51:45 · 1448 阅读 · 0 评论 -
laravel下composer的使用--忽略版本
(1)由于使用的PHP 7版本太高,不符合composer.json需要的版本,但是在PHP 7下应该也是可以运行的,composer可以设置忽略版本匹配,命令是:composerinstall--ignore-platform-reqs 或者 composerupdate--ignore-platform-reqs...原创 2018-08-15 10:49:40 · 1116 阅读 · 0 评论 -
laravel 执行迁移回滚
Laravel鼓励敏捷、迭代的开发方式,我们没指望在第一次就获得所有正确的。我们对于自己编写和设计数据库,可以通过迁移文件,不断的重复去测试. 但是有些时候我们需要去执行迁移回滚(1)建议使用执行上一次迁移回滚如果是本地开发(一般都在前期开发)执行:php artisan migrate:rollback(迁移文件在/database/migrations下)如果是在文...原创 2018-11-05 16:30:42 · 4146 阅读 · 0 评论 -
laravel封装全局公共函数
背景习惯了 使用 ThinkPHP 框架,有一个公共方法类在代码编写上会快捷很多,所以有必要在此进行配置一番. 测试框架:Laravel 5.5步骤指导1. 创建 functions.php在 app/Helpers/(目录可以自己随便来)下新建一个文件 functions.php,在内部补充如下代码:<?php/** * Created by PhpStorm...转载 2018-10-10 11:42:39 · 1116 阅读 · 0 评论 -
laravel安装和部署dingo+passport
(1)passport前言:laravel-china文档:Passport OAuth 认证安装在开始之前, 请通过 Composer 包管理器安装 Passport:composer require laravel/passport执行迁移Passport 服务提供器使用框架注册自己的数据库迁移目录,因此在注册提供器后,就应该运行 Passport 的迁移命令来自动创...原创 2018-10-09 17:40:16 · 1082 阅读 · 0 评论 -
Laravel在使用Composer安装时要求输入授权用户名密码?
(1->已无用)笔者在执行composer后提示以下信息,大体是要求输入授权用户名密码:Loading composer repositories with package informationUpdating dependencies (including require-dev) ...原创 2018-10-09 16:39:54 · 3379 阅读 · 5 评论 -
l5-repository的使用
这是l5-repository基础使用Host:GitHubLicense:MITLanguage:PHP目录安装 Composer Laravel 方法 Prettus\Repository\Contracts\RepositoryInterface Prettus\Repository\Contracts\RepositoryCriteriaInterfac...原创 2018-10-08 14:38:17 · 5053 阅读 · 0 评论 -
laravel l5-repository使用Criteria实现复杂查询
laravel扩展:l5-repository,基于的github项目是:l5-repository在前面文章中笔者也有对l5-repository进行了一系列的介绍和解析,大家有时间可以看看在repository中,对于CRUD来说,其最难的是R操作,因为会有各种各样的查询方式,提供的查询接口有:public function find($id, $columns = ['*'...原创 2018-10-08 11:00:39 · 4707 阅读 · 0 评论 -
laravel5.7加入l5-repository
前言 :l5-repository的GitHub地址:https://github.com/andersao/l5-repository正文:记录我安装 l5-repository的过程:(1)使用composer安装l5-repositorycomposer require prettus/l5-repository(2)在config/app.php下,为给'p...原创 2018-09-28 16:57:02 · 1729 阅读 · 0 评论 -
Laravel框架中使用Service模式
Laravel框架中使用 Presenter 模式Laravel框架中使用 Repository 模式Laravel的中大型项目构架和优雅的插件扩展l5-repository若将商业逻辑都写在controller,会造成controller肥大而难以维护,基于SOLID原则,我们应该使用Service模式辅助controller,将相关的商业逻辑封装在不同的service,方便中大型项...转载 2018-09-28 15:25:03 · 12710 阅读 · 1 评论 -
Laravel框架中使用 Presenter 模式
若将显示逻辑都写在view,会造成view肥大而难以维护,基于SOLID原则,我们应该使用Presenter模式辅助view,将相关的显示逻辑封装在不同的presenter,方便中大型项目的维护。VersionLaravel 5.1.22显示逻辑显示逻辑中,常见的如:将数据显示不同数据:如性别字段为M,就显示Mr.,若性别字段为F,就显示Mrs.。 是否显示某些数据:如根据字...转载 2018-09-28 15:22:51 · 1760 阅读 · 0 评论 -
Laravel框架中使用 Repository 模式
若将数据库逻辑都写在model,会造成model的肥大而难以维护,基于SOLID原则,我们应该使用Repository模式辅助model,将相关的数据库逻辑封装在不同的repository,方便中大型项目的维护。Version:Laravel 5.1.22数据库逻辑在CRUD中,CUD比较稳定,但R的部分则千变万化,大部分的数据库逻辑都在描述R的部分,若将数据库逻辑写在controll...转载 2018-09-28 15:18:48 · 7127 阅读 · 0 评论 -
Laravel执行seeder命令出现class *** does not exist
执行填充文件:php artisan db:seed --class=RolesAndPermissionsSeeder发现执行失败:错误信息:ReflectionException : Class RolesAndPermissionsSeeder does not exist提示我这个填充类不存在,挺奇怪的。我已经确保seeder文件和全局database seeder是在同...原创 2018-09-27 11:31:42 · 3468 阅读 · 0 评论 -
Laravel的中大型项目构架和优雅的插件扩展l5-repository
此篇为转载文章,整理和加入了自己的理解。更建议大家阅读此文,文章很有深度,请你细心阅读,肯定有所收获目录(1)前言:(2)Controller过于肥大:(3)Model过于肥大:(4)中大型项目构架: (4-1)建立目录 (4-2)Conclusion(5)l5-repository:(1)前言: 每个程序员对MVC都是必...转载 2018-09-28 11:21:07 · 1866 阅读 · 0 评论 -
laravel-我们所需认识的常用扩展
扩展包是添加额外功能到 Laravel 的主要方式。扩展包可以提供任何功能,小到处理日期如 Carbon,大到整个 BDD 测试框架如 Behat。此篇文章是记录笔者在基于laravel5.7开发过程中,可能需要的一些常用的扩展以及可能遇到的一些坑点。大部分扩展都在laravel-china的文章:下载量最高的 100 个 Laravel 扩展包推荐:https://laravel-china...原创 2018-09-26 10:53:52 · 1083 阅读 · 0 评论 -
laravel原生sql操作以及like模糊查询的坑点
此篇文章基于laravel版本:5.5laravel基于DB的原生查询可以使用 DB facade 运行查询。DB facade 为每种类型的查询提供了方法:select、update、insert、delete 和 statement。以下是知识点:(1)运行查询语句$users = DB::select('select * from users where active =...原创 2018-09-20 16:09:33 · 4832 阅读 · 0 评论 -
laravel 目录添加n个app应用
目录Laravel —— 应用目录结构方法/步骤Laravel —— 应用目录结构Laravel应用默认的目录结构试图为不管是大型应用还是小型应用提供一个好的起点,当然,你可以自己按照喜好重新组织应用目录结构,Laravel 对类在何处被加载没有任何限制——只要 Composer 可以自动载入它们即可。方法/步骤 新安装的 Laravel 应用包含许多文件夹: ...原创 2018-08-14 17:19:02 · 3687 阅读 · 0 评论 -
Laravel 5.5 实现管理后台操作日志功能:监听且实时记录模型操作数据
前言: 管理后台实现操作日志功能,能够监听且实时记录模型操作数据。原创 2019-02-21 17:51:59 · 4750 阅读 · 5 评论