
laravel 框架
SHUIPING_YANG
事在人为,凡事预则立,不预则废!
展开
-
laravel 8 casts时间转换,api转换为时间戳,其他页面转换为Ymd
<?phpnamespace App\Models;use DateTimeInterface;/** * @mixin \Eloquent */class BaseModel extends \Illuminate\Database\Eloquent\Model{ // use ModelTrait; public $timestamps = true; protected $dateFormat = 'U'; /** * 格式化模型的原创 2021-09-23 17:04:44 · 858 阅读 · 0 评论 -
laravel-admin行内编辑提示消息不正常
D:\WWW\xxx\vendor\encore\laravel-admin\src\Grid\Displayers\Editable.php我们一般返回的格式不符合他的预期,所以总会弹出一个中间的toastr,继续查看源码发现他是需要下面这种结构:所以,我们行内编辑成功以后需要返回这个格式,display可以不用给值,这样就不会出现个红色框框在中间了....原创 2021-08-06 16:49:43 · 555 阅读 · 0 评论 -
laravel 7.0以上时间格式转换
laravel7 以后,默认的把创建和更新时间转换成了带上时区的YMD,看着很不习惯,但是也提供了相应的配置方法./** * 为数组 / JSON序列化准备一个日期 * * @param \DateTimeInterface $date * @return string */protected function serializeDate(DateTimeInterface $date){ return $date->format('Y-m-d');}## 或者直接定原创 2021-08-06 16:33:53 · 1032 阅读 · 0 评论 -
laravel插入重复数据把之前的计数+1 updateOrCreate
我们有时候想要记录日志,但是重复的日志我们不想记录多次,只想计数+1,那么可以按照如下方法:$log = [ 'uri' => $request->getRequestUri(), 'header' => json_encode($request->header(), 320), 'action' => $request->route()->getActionName() ?? '', 'params' => json_enc原创 2021-08-06 16:22:16 · 465 阅读 · 0 评论 -
laravel对分页的paginate数据进行变更
因为是写接口,所以分页的数据有些用不到,因此直接取出需要的,另外,前端往往展示是跨表的,对于分页结果还需要进行提取出需要的字段,直接上代码,应该一看都明白了.public function index(Request $request){ $params = $request->validate([ 'search' => 'string', 'per_page' => 'int|min:1', ]); $per_page = $原创 2021-06-15 14:16:04 · 2912 阅读 · 0 评论 -
laravel生命周期
PHP 的生命周期PHP 的运行模式PHP两种运行模式是WEB模式、CLI模式。当我们在终端敲入php这个命令的时候,使用的是CLI模式。当使用Nginx或者别web服务器作为宿主处理一个到来的请求时,使用的是WEB模式。生命周期当我们请求一个php文件时,PHP 为了完成这次请求,会发生5个阶段的生命周期切换:1.模块初始化(MINIT),即调用 php.ini 中指明的扩展的初始化函数进行初始化工作,如 mysql 扩展。2.请求初始化(RINIT),即初始化为执行本次脚本所需要的变量名转载 2020-05-26 15:02:32 · 466 阅读 · 0 评论 -
laravel获取某些字段的集合,lists废弃了
有时候我们只需要一列值,例如我们只想要id,但是laravel返回的是一个二维数组,laravel4里面有个lists方法,但是自从5.3之后就废弃了,改成了pluck方法。$data = Word::where(['type' => $params['type'], 'status' => 1]) ->inRandomOrder() #随机取数 ->li...原创 2020-02-10 21:48:28 · 4112 阅读 · 0 评论 -
InvalidArgumentException : Unable to locate factory with name [default] [App\Article].
db:seed的时候找不到对应的factory.InvalidArgumentException : Unable to locate factory with name [default] [App\Article].原创 2020-01-22 17:12:45 · 1340 阅读 · 1 评论 -
laravel页面没有及时更新,修改view之后页面没有更新,视图页面缓存
在写项目玩的时候发现个问题,修改了view页面内容,但是页面却没有及时反馈。env文件设置是没有问题的:APP_ENV=localAPP_DEBUG=true找了很久,终于发现问题根源,因为php5.6以后就默认开启了opcache这个拓展。因此注释掉php.ini里面的关于opcache的设置即可,这个可以加快php执行速度,正式环境建议开启。;zend_extension=php...原创 2020-01-22 15:35:20 · 2612 阅读 · 0 评论 -
在php里面使用markdown编辑器
Laravel5-Markdown-Editorhttps://www.jianshu.com/p/88a002ee25a3原创 2020-01-21 14:55:01 · 1001 阅读 · 0 评论 -
redis由于目标计算机积极拒绝,无法连接。
使用redis的时候报错。Predis \ Connection \ ConnectionException (10061)由于目标计算机积极拒绝,无法连接。 [tcp://xxxx.xxx.xx.xx:6379]原因是redis的配置没有更改导致,只能在服务器上访问redis。修改配置:注释掉bind 127.0.0.1注释掉就可以了。...原创 2020-01-21 14:39:22 · 23097 阅读 · 10 评论 -
laravel的predis报错乱码
今天使用redis的时候报错,但是页面显示一塌糊塌,原因是编码错误。Predis \ Connection \ ConnectionException (10061)����Ŀ����������ܾ��������ӡ�private function createExceptionMessage($message) { $encoding = mb_detect_encodin...原创 2020-02-12 15:31:25 · 10750 阅读 · 0 评论 -
laravel框架与其他框架的对比
优点:1、代码比较明白易懂,跟英语句子差不多,关键词就是函数,举个例子,获取数据库中某个表的所有数据:$article=new Article;$articles=$article->all(); //这样就得到了articles表所有记录的所有字段;$count = $article->where('class_id','=', 1)->count(); //是不是一看就明白了意思?查找分类原创 2017-05-08 10:21:46 · 10107 阅读 · 2 评论 -
Laravel应用目录结构
1、简介Laravel 应用默认的目录结构试图为不管是大型应用还是小型应用提供一个好的起点,当然,你可以自己按照喜好重新组织应用目录结构,Laravel 对类在何处被加载没有任何限制——只要 Composer 可以自动载入它们即可。2、根目录新安装的 Laravel 应用包含许多文件夹:app目录包含了应用的核心代码;bootstrap 目录包含了少许文件用于框架的启动和自动载入配置,还有一个c原创 2017-04-24 16:17:52 · 1953 阅读 · 0 评论 -
Laravel5.2.45初级系列教程(1)
1、安装composer和Laravel:安装composer和laravel,下面这个链接讲的比较详细,直接列出来参考即可。 http://blog.youkuaiyun.com/zhezhebie/article/details/689473852、Laravel目录结构:安装好了以上两个东东,就需要来看一下laravel的目录结构,不然都不知道MVC分别在哪里,不是开玩笑,laravel和一般的框架还真原创 2017-04-26 16:16:23 · 761 阅读 · 0 评论 -
Laravel文件图片上传
use Storage;use Illuminate\Support\Facades\File;判断文件夹是否存在: if (!is_dir($new_subpath)) { File::makeDirectory($new_subpath); }原创 2017-07-27 21:14:04 · 1587 阅读 · 0 评论 -
laravel处理图片的包,裁剪,水印等等
Intervention Image 是一个PHP图片操作处理库,为图片创建、修改及压缩等处理提供了便捷方式。此外,还提供了服务提供者和门面以便集成到Laravel应用中。1、配置composer设置镜像地址(中国的镜像地址 -g参数表示全局配置)composer config -g repo.packagist composer https://packagist.phpcomposer.com设原创 2017-07-31 10:30:08 · 2498 阅读 · 2 评论 -
Laravel更新头像完整实例
1、加入引用:namespace App\Api\Controllers\V1;use App\Http\Requests;use Illuminate\Http\Request;use App\Models\Customer;use Image;use Input;2、代码实例: /** * 更新头像 * @desc 用户在个人中心更新图像 * @pa原创 2017-07-31 15:51:25 · 1221 阅读 · 0 评论 -
Laravel 关系模型取出需要的字段
需求是从建立关系模型的数据表里面取出需要的字段,乱七八糟的不要。一个机构对应多个授权码,授权码里面的信息很杂乱,但是我取出关联模型的时候想把他们过滤掉。 public function readOrganization($id) { $list = Organization::with(['authcodes' => function ($query) {$query->sele原创 2017-08-16 11:34:47 · 6547 阅读 · 0 评论 -
Laravel 的Validation验证规则
Laravel版本是5.1LTS版本:validation验证规则实例: public function saveOrganizationCode(Request $request) { $this->validate($request, [ 'organization_name' => 'required', 'organizat原创 2017-08-17 10:51:28 · 8501 阅读 · 0 评论 -
Laravel设置器修改器
今天碰到个问题,我在ORM里卖弄运用了修改器,然后Laravel查询出来的数据都变成了修改后的值,我这个结果集还需要放到下一个页面使用,并且还是需要用到修改前的值,如果在此写判断,写switch,那修改器就白瞎了,然后翻到Laravel的ORM源代码,看到修改器作用的是结果集的attributes这个数组的里面的值的,那个original里面的数据始终都是原始结果。那就简单了,我直接运用修改前的结果原创 2017-08-10 17:44:05 · 2583 阅读 · 2 评论 -
Laravel怎么访问ResponseJson对象里面的数据
现在后端一般都写接口,返回的是json数据,如果我要在其他接口里面使用另外一个接口的返回结果,该怎么办呢?不是数组,难道要我把接口重新写一次? 今天就碰到了这个需求,地址级联,可把我难倒了。不过最后在overflow上找到了答案,可以直接获取接口里卖弄的data,下面是我上个接口返回的数据。JsonResponse {#421 ▼ #jsonOptions: 0 #data: "{"mes原创 2017-08-11 16:13:06 · 5797 阅读 · 0 评论 -
Laravel 数据库迁移
新建一个数据库; 配置database.php里面的数据库信息; 生成模型,顺带生成迁移表;#前面可以添加目录PS D:\phpStudy\WWW\laravel54cn> php artisan make:model Home/Article -mModel created successfully.Created Migration: 2017_08_04_093936_create_原创 2017-08-04 17:47:40 · 1067 阅读 · 0 评论 -
Laravel 设置跨域访问middleware
做api接口的时候碰到个问题,跨域! 解决方法有很多,但是方便的依旧那么一两个。第一种,最方便的,新建一个middleWare,把这个middleware加入到全局中间件,所有的请求,都会经过这个中间件的过滤。php artisan make:middleware CrossHttp然后就会在\app\Http\Middleware\CrossHttp.php这个中间件,在handle方法里面添加原创 2017-09-22 23:50:25 · 20015 阅读 · 0 评论 -
Laravel常用类库
PDF类库:下载地址和使用方法: https://github.com/barryvdh/laravel-dompdf原创 2017-09-08 21:18:26 · 860 阅读 · 0 评论 -
Laravel ORM操作
1、laravel获取最后一条sql语句和传入的值: public function getOrderDetail($orderId){ \DB::connection()->enableQueryLog(); // 开启查询日志 $ordeList = OrderItem::where('order_id',$orderId) ->ge原创 2017-07-27 16:50:59 · 2278 阅读 · 0 评论 -
Laravel5.5生成验证码与验证正确与否
第一步:引入gregwar/captcha包: composer require gregwar/captcha第二步:在帮助函数中创建函数:use Gregwar\Captcha\CaptchaBuilder;use Illuminate\Http\Request;use Session;class HelperController extends Controller { //生成原创 2017-10-08 22:30:51 · 6186 阅读 · 1 评论 -
No supported encrypter found. The cipher and / or key length are invalid.
配置完了Laravel之后,访问网站出现如下错误: No supported encrypter found. The cipher and / or key length are invalid. 这是因为要配置config/app.php里面的key的值,这里使用的是配置文件.env中的配置。使用命令php artisan key:generate 会自动生成key,并且加入到.env文件中原创 2017-10-27 14:16:14 · 786 阅读 · 0 评论 -
Failed opening required 'bootstrap/../vendor/autoload.php'
从git版本库克隆下来Laravel项目之后,忘了composer install ,结果爆了如下错误~PHP Fatal error: require(): Failed opening required '/bcc/production/BCCAdminV1.0/bootstrap/../vendor/autoload.php' (include_path='.:/usr/share/php'原创 2017-10-27 14:24:54 · 10731 阅读 · 1 评论 -
Laravel模糊查询区分大小写
Laravel的ORM特殊操作! #passthru: array:10 [▼ 0 => “insert” 1 => “insertGetId” 2 => “getBindings” 3 => “toSql” 4 => “exists” 5 => “count” 6 =>原创 2017-10-25 15:34:59 · 3876 阅读 · 0 评论 -
Laravel项目.gitignore文件
这个是官方的最新的忽略文件,效果很好。/node_modules/public/hot/public/storage/storage/*.key/vendor/.idea/.vagrantHomestead.jsonHomestead.yamlnpm-debug.logyarn-error.log.env原创 2017-10-27 16:33:30 · 1298 阅读 · 0 评论 -
Laravel重定向,a链接跳转,控制器跳转
Laravel重定向分类如下:1、a链接跳转:<a class="btn btn-success" href="{{url('admin/organization/createAuthCodeView', ['id' => $list['id']])}}">生成注册码</a>2、form表单提交跳转:<form class="form-inline" method="get" action="{{原创 2017-10-24 12:02:07 · 15726 阅读 · 2 评论 -
Laravel搜索的时候分页并携带参数
筛选分页每页的条数:<select class="form-control" id="perPage" name="perPage"> @foreach ( [10,20,30,50] as $e) <option value="{{$e}}" {{ $e==request('perPage') ? 'selected' : '' }} >{{$e}}</option>原创 2017-10-19 15:14:45 · 8795 阅读 · 1 评论 -
Laravel获取各种参数的方法
Laravel获取路由的参数分为以下几种情况:1、控制器里面获取路由参数这是最常见的获取参数形式了,分以下两种情况:1.1、post参数获取获取所有参数:public function getCity(Request $request) { $id = $request->only(['id','name','password']); #获取部分参数 $input=$request-原创 2017-10-25 10:22:54 · 30295 阅读 · 0 评论 -
Laravel修改器取出原始值
Laravel的ORM有个强大的功能,可以在数据库查询或者插入的时候进行干涉。 分两种情况:1、修改器:修改器顾名思义就是从数据库取出来的时候修改某个字段的实际值,例如我们存在数据库一般都用代号来存储某些字符串,如下:pay_type=1代表汇丰银行支付。。。。 现在的需求是当我从数据库取出pay_type的时候,显示人能辨识的字符串而不是不知所云的数字编码,那就用如下代码即可实现...原创 2017-10-25 12:03:34 · 5144 阅读 · 0 评论 -
Laravel更新数据的时候排除自己
我在项目,更新用户的信息的时候,如果用户想要更新用户名,再提交进入数据库之前,我们需要判断这个新的用户名其他人是否在用。public function updateCustomer(Request $request) { // dd($request->all()); $rules = [ 'user_name' => 'min:4|max:255|unique:cu原创 2017-10-26 18:35:35 · 1968 阅读 · 0 评论 -
Laravel find in set排序
做项目遇到个需求,需要对结果集中的数据进行指定规则的顺序排列。 例如,用户状态有四种: 0=&gt;未激活;1=&gt;正常;2=&gt;禁用;3=&gt;软删除现在的需求是,我要按照:正常》未激活》禁用》删除;这个顺序来进行排序,同时按照注册时间降序,网上查了很多资料,国内提到这个的很少,在stackOverFlow上找到了答案! 先上解决方案:public function index($customer_t原创 2017-10-26 18:44:09 · 6067 阅读 · 3 评论 -
Laravel 创建指定表 migrate
网上找了很多资料,都很坑爹,说是要把之前的表都给删掉,然后重新运行,有的说要指定database的文件路径,都不管用。php artisan migrate:resetphp artisan migrate这样的话我之前的数据不都是白搞的了?? 这样肯定不行的啊,我就自己摸索,然后发现其实可以直接创建指定的表,运行thinker,然后运行up方法即可!示例代码如下:PS D...原创 2017-11-28 17:30:40 · 7743 阅读 · 0 评论 -
Laravel Base table or view already exists: 1050 Table 'users' already exists
PS D:\phpStudy\WWW\BCCAdminV1.0> php artisan migrate[Illuminate\Database\QueryException] SQLSTATE[42S01]: Base table or view already exists: 1050 Table ‘users’ already exists (SQL: create table user原创 2017-11-28 17:41:01 · 9655 阅读 · 0 评论 -
Laravel与ajax请求token
Laravelpost请求默认都带了token验证,所以我们ajax发起post请求也得带上token请求头。以下为完整示例<script type="text/javascript"> $(function(){ #在要发起post请的ajax前加上这几行代码 $.ajaxSetup({ headers: { 'X-CSRF-TOKEN' : '{{ csrf_原创 2017-11-15 14:20:45 · 3719 阅读 · 0 评论