从增删改查到事件溯源 - PHP增删改查如果你是一名 PHP 后端开发,增删改查(CRUD)对你来说,一定不陌生。简单来说,它是指对数据库进行增加,删除,修改,查阅基本操作。增删改查是面向数据库的一种建模方式。PHP 简直是为增删改查而生,它语法简单,无需编译,ORM 遍地开花,你可以快速地将数据库表和网页打通,从而实现增删改查功能。这种快感给人一种错觉,似 ......
399
0
0
2022-05-08
使用场景:使用模型创建一条数据,且 id 使用 uuid 自动接管;必备知识:没学过 PHP,没啥必备的;这里不说建表、创建模型了,直奔主题!模型(Tabs)use Ramsey\Uuid\Uuid; //方式1 // use Illuminate\Support\Str; //方式2 class Tabs ext ......
354
0
0
2022-05-07
平常正常调试代码时,总想知道mysq执行了一些什么,这样比较稳妥一些网上有一个版本,貌似遇到like语句,加上%号后,就会报这个错ErrorExceptionvsprintf(): Too few arguments所以我改良了一个版本,代码如下if (app()->isLocal()) { DB::listen(function ($que ......
392
0
0
2022-05-01
laravel-soar - 在 Laravel 应用程序中轻松容易的优化 sql 语句的扩展包。功能支持基于启发式算法的语句优化支持复杂查询的多列索引优化(UPDATE, INSERT, DELETE, SELECT)支持 EXPLAIN 信息丰富解读支持 SQL 指纹、压缩和美化支持 Eloquent 查询构建器方法生成 SQL 优化报告源码链接gith ......
434
0
0
2022-04-23
在使用 Model::where()->get() 方法的时候,如果没有匹配条件也会返回一个空的结果集Illuminate\Database\Eloquent\Collection {#1456 #items: [] } 这个时候不能使用简单的取反 empty() 或 =='' 判断是否有查询结果if(! $result = Model::w ......
359
0
0
2022-04-21
当数据多到一定的程度时,分表可作为一种提升性能的方案。这里以sku表为列子,分表的后并不用修改任何业务逻辑:商品表:goods,sku表:sku, 根据good_id取余数来分表。原始语句GoodModel::with('sku')->limit(10)->findAll(); 这里用的with关联查询。分库分表往往涉及到改动的可能就是这种关联 ......
339
0
0
2022-04-21
业务场景– 用户对应多个角色– 角色也可以被其他用户所拥有表设计users id name roles id name role_user id role_id user_id 模型类<?php namespace App\Models; class Role e ......
340
0
0
2022-04-20
1. 直接通过 mysql 查询DB::table('shop')->selectRaw("id,lon,lat, ROUND(ST_DISTANCE(point(lon,lat),point({$lon},{$lat})) /0.0111,2) distance") ->orderBy('distance') ->fir ......
348
0
0
2022-04-20
PR 地址:github.com/laravel/framework/pull/...Laravel 的 Eloquent ORM 是非常方便和强大的,只要在模型层做好相关配置和关联,就可以非常方便的进行查询。但是,这无意也会给程序性能带来隐患,比如查询 N+1的问题。举个栗子:用户可以发表多篇博文,那么 UserModel 和 PostModel 的关系就 ......
426
0
0
2022-04-19
模型配置class MarketWork extends Model { protected $table = 'market_work'; public $timestamps = false; // public function send_log(){ // return $this->be ......
365
0
0
2022-04-19
public function up() { DB::unprepared('CREATE PROCEDURE my_procedure(IN param INT(10)) BEGIN /* here your SP code */ END'); } public function down() { DB:: ......
330
0
0
2022-04-13
php artisan make:migration create_view_users_table 生成文件Created Migration: 2021_05_12_125514_create_view_users_tableclass CreateViewUsersTable extends Migration { public functi ......
358
0
0
2022-04-13
简介添加和更新是比较常用的操作,下面总结一下1.添加 // 先填充模型 $user = new User(['name' => 'test123','email' => 'test@test.com'.random_int(10,99),'email_verified_at' => '2021-1-5','password' =&g ......
385
0
0
2022-04-12
简介今天开始写点简单的内容,把开发过程中经常用到的查询列出来,想到哪里写到哪里吧。提纲:一般查询or 查询like 查询when 条件查询with事务joinunion开启日志跨库查询分页1. 一般查询$user = User::find(1); // 查询单个记录 $users = User::where('status', 1)->get(); ......
432
0
0
2022-04-12
简介自动迁移是如今比较常用的功能,下面就用自动迁移部署本项目的所有表并用 seeder 初始化一些数据直接贴代码php artisan make:migration create_admins_table; Schema::create('admins', function (Blueprint $table) { $table->id() ......
453
0
0
2022-04-12