php
文章平均质量分 53
General_Gong
这个作者很懒,什么都没留下…
展开
-
laravel的Collections方法使用及介绍(翻译二)
flip()flip方法交换collection的key和对应的value的值:$collection = collect(['name' => 'taylor', 'framework' => 'laravel']);$flipped = $collection->flip();$flipped->all();// ['taylor' => 'name', 'laravel' => 'framework']forget()forget方法将会移除k原创 2021-09-03 14:29:54 · 638 阅读 · 0 评论 -
laravel的Collections类以及方法使用及介绍(翻译一)
1.简介Illuminate\Support\Collection类为数组数据转化提供了顺畅和方便的压缩方式。例如,下面的代码,我们用一个数组创建一个collect实例对每一个元素运行strtoupper方法并随后移除所有的空元素。$collection = collect(['taylor', 'abigail', null])->map(function ($name) { return strtoupper($name);})->reject(function ($name)原创 2021-03-21 00:44:21 · 883 阅读 · 0 评论 -
laravel的数据库操作方式终结(6)
1.Insert Statements(插入语句)用insert方法机型数据插入, 插入方法接受一个字段数组进行数据的插入:DB::table('users')->insert([ 'email' => 'kayla@example.com', 'votes' => 0]);你可以一次性地插入多个记录,通过一个数组中加入多个数组,每个数组代表一个您要插入的记录:DB::table('users')->insert([ ['email' =>原创 2021-03-08 23:42:57 · 433 阅读 · 1 评论 -
laravel的数据库操作方式(5)
1.附加的Where条款whereBetween / orWhereBetween$users = DB::table('users') ->whereBetween('votes', [1, 100]) ->get();whereNotBetween / orWhereNotBetween$users = DB::table('users') ->whereNotBetween('votes',原创 2021-03-07 00:06:23 · 307 阅读 · 2 评论 -
laravel的数据库操作方式(4)
1.join连接数据表inner join从句use Illuminate\Support\Facades\DB;$users = DB::table('users') ->join('contacts', 'users.id', '=', 'contacts.user_id') ->join('orders', 'users.id', '=', 'orders.user_id') ->select('users原创 2021-02-25 17:15:46 · 236 阅读 · 0 评论 -
laravel的数据库操作方式(3)
1.数据聚集计算包括count, max, min, avg, sumuse Illuminate\Support\Facades\DB;$users = DB::table('users')->count();$price = DB::table('orders')->max('price');2.断言count记录存在的替换方式exists和doesntExistif (DB::table('orders')->where('finalized', 1)->exi原创 2021-02-24 16:55:31 · 281 阅读 · 0 评论 -
laravel的数据库操作方式(2)
1.检索表记录$users = DB::table('users')->get();foreach ($users as $user) { echo $user->name;}返回Illuminate\Support\Collection数据集,每个结果时PHP stdClass对象实例,通过对象对应的数据表字段获取结果2.检索一个单一行/列记录返回单一行记录$user = DB::table('users')->where('name', 'John')->原创 2021-02-24 10:33:18 · 217 阅读 · 0 评论 -
laravel的数据库操作方式(1)
1.查询数据select使用方式(1)数据绑定方式use Illuminate\Support\Facades\DB;DB::select('select * from users where active = ?', [1]);(2)名称绑定方式use Illuminate\Support\Facades\DB;DB::select('select * from users where id = :id', ['id' => 1]);2.添加数据use Illuminate\Su原创 2021-02-23 15:08:43 · 340 阅读 · 0 评论 -
laravel读写分离注意事项
先写入代码'mysql' => [ 'read' => [ 'host' => [ '192.168.1.1', '196.168.1.2', ], ], 'write' => [ 'host' => [ '196.168.1.3', ], ], 'sticky' => true, 'dr原创 2021-02-23 10:21:03 · 723 阅读 · 0 评论 -
laravel的php artisan make:migration 修改表字段的注意事项
使用命令创建表php artisan make:migration create_flights_table在up方法中添加需要创建的字段,运行php artisan migration Schema::create('article_type', function (Blueprint $table) { $table->id(); $table->string('type'); $table->..原创 2021-01-08 10:22:33 · 713 阅读 · 0 评论 -
mysql in 索引问题总结以及疑惑
1.当搜索字段较少时,(例如:0,1)数据达到一定数量使用in时则会进行全表扫描,当然也可以进行强制使用索引(force index),强制使用索引后的搜索速度会要慢于全表扫描。2.在有索引的情况且查询条件使用到索引列的话,会使用索引。select 语句使用了ignore index的话,则不会使用索引。疑问:使用in进行查询后会使用range(范围索引)。如果id的不是连续的,按照道理应该会进行全表扫描的。这个问题挺疑惑的,欢迎高手指点一二…...原创 2020-11-13 11:08:58 · 284 阅读 · 0 评论 -
主要分布式锁的实现方式
分布式锁实现方式1.数据库实现分布式锁使用数据库事务中的锁如record lock来实现,通常使用悲观锁进行实现(select * … for update)缺点:性能底,存在超时的可能2.redis实现分布式锁使用redis可以使用setnx来实现分布式锁缺点:lock timeout存在并发的现象,失去了锁的意义存在redis单点故障,引入sentinel或者cluster方案,则更加复杂引入问题更多3.zookeeper实现分布式锁...原创 2020-07-13 10:59:50 · 132 阅读 · 0 评论 -
php7已经安装后,忘记安装mysqli,pdo_mysql等其他扩展
1.linux安装php7.4后没有./configure安装mysqli和pdo_mysql等其他扩展,可以通过安装包的制定扩展phpize安装2.php5以后不支持pecl针对mysql的扩展安装3.phpize安装前遇到问题一Cannot find autoconf. Please check your autoconf installation and the$PHP_AUTOCONF environment variable. Then, rerun this script.解决办法:原创 2020-07-02 17:05:47 · 685 阅读 · 0 评论 -
php 三元运算?:和合并运算符??
三元运算符表达式 (expr1) ? (expr2) : (expr3) 在 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。<?php// 三元运算符的例子$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];// 以上等同于以下的 if/else 语句if (empty($_POST['action'])) { $action = '原创 2020-06-11 23:53:10 · 477 阅读 · 1 评论 -
PHP二分查找法
二分查找法又称为折半查找法,要求数据必须是有序的以 1,3,20,24,44,67,71,82,90,110 为例,我们需要用二分法来查找 71 的位置以下是php实现二分查找算法的PHP代码<?php$array = [1,3,20,24,44,67,71,82,90,110];$target = 71;$low = 0;$high = count($array) - 1;function bin_search($array, $low, $high, $target原创 2020-06-10 16:03:18 · 178 阅读 · 0 评论 -
堆排序(不同于二叉树)
堆排序 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单了解下堆结构。 堆 堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。如下图: 同时,我们对堆中的结点按层进行编号,将这种逻辑结构映射到数组中就是下面这个样子该数组从逻辑上讲就是一个堆结构,我们用简单的公式来描述一下堆的定义就是:大顶原创 2020-06-10 14:37:00 · 242 阅读 · 0 评论 -
PHP二叉树组成与排序,查找
二叉树排序排序二叉树是一种特殊结构的二叉树,可以非常方便地对树中所有节点进行排序和检索。排序二叉树要么是一棵空二叉树,要么是具有下列性质的二叉树:若它的左子树不空,则左子树上所有节点的值均小于它的根节点的值;若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值;它的左、右子树也分别为排序二叉树。中序遍历排序对应的数组:[2,3,4,8,9,9,10,13,18,21】PHP二叉树排序class Node{ public $key; public $left; publi原创 2020-06-08 17:16:12 · 184 阅读 · 0 评论 -
laravel-admin导入Excel
在laravel-admin中使用到导入Excel表格官方文档介绍得不是特别全面,下面主要介绍一下在使用中的经验以及遇到的问题1.首先按照官方放的方法生成文件并改写文件,如下代码(1):Php artisan admin:action Post\ImportPost --name=“import data”(2):改写文件,我的代码如下<?phpnamespace App\Adm...原创 2019-10-26 09:31:40 · 2727 阅读 · 3 评论 -
laravel-admin 详情显示时字段显示为表关联的字段
1.表关系2.Model关联关系3.代码展示4.页面展示5.总结主要是as非常的好用;)原创 2019-10-26 09:06:02 · 2060 阅读 · 0 评论 -
laravel的with渴望加载
Lazy loading(传统的加载慵懒加载) 和 Eager loading(渴望加载)渴望加载是减轻N+1的查询问题(Eager loading alleviates the N + 1 query problem.)举例说明:书本(book)和作者(author)的关系模型关系:<?phpnamespace App;use Illuminate\Database\Elo...原创 2019-09-25 17:31:37 · 312 阅读 · 0 评论