从增删改查到事件溯源 - PHP增删改查如果你是一名 PHP 后端开发,增删改查(CRUD)对你来说,一定不陌生。简单来说,它是指对数据库进行增加,删除,修改,查阅基本操作。增删改查是面向数据库的一种建模方式。PHP 简直是为增删改查而生,它语法简单,无需编译,ORM 遍地开花,你可以快速地将数据库表和网页打通,从而实现增删改查功能。这种快感给人一种错觉,似
......
441
0
0
2022-05-08
使用场景:使用模型创建一条数据,且 id 使用 uuid 自动接管;必备知识:没学过 PHP,没啥必备的;这里不说建表、创建模型了,直奔主题!模型(Tabs)use Ramsey\Uuid\Uuid; //方式1
// use Illuminate\Support\Str; //方式2
class Tabs ext
......
388
0
0
2022-05-07
平常正常调试代码时,总想知道mysq执行了一些什么,这样比较稳妥一些网上有一个版本,貌似遇到like语句,加上%号后,就会报这个错ErrorExceptionvsprintf(): Too few arguments所以我改良了一个版本,代码如下if (app()->isLocal()) {
DB::listen(function ($que
......
424
0
0
2022-05-01
laravel-soar - 在 Laravel 应用程序中轻松容易的优化 sql 语句的扩展包。功能支持基于启发式算法的语句优化支持复杂查询的多列索引优化(UPDATE, INSERT, DELETE, SELECT)支持 EXPLAIN 信息丰富解读支持 SQL 指纹、压缩和美化支持 Eloquent 查询构建器方法生成 SQL 优化报告源码链接gith
......
465
0
0
2022-04-23
在使用 Model::where()->get() 方法的时候,如果没有匹配条件也会返回一个空的结果集Illuminate\Database\Eloquent\Collection {#1456
#items: []
}
这个时候不能使用简单的取反 empty() 或 =='' 判断是否有查询结果if(! $result = Model::w
......
387
0
0
2022-04-21
当数据多到一定的程度时,分表可作为一种提升性能的方案。这里以sku表为列子,分表的后并不用修改任何业务逻辑:商品表:goods,sku表:sku, 根据good_id取余数来分表。原始语句GoodModel::with('sku')->limit(10)->findAll();
这里用的with关联查询。分库分表往往涉及到改动的可能就是这种关联
......
374
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
......
370
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
......
381
0
0
2022-04-20
PR 地址:github.com/laravel/framework/pull/...Laravel 的 Eloquent ORM 是非常方便和强大的,只要在模型层做好相关配置和关联,就可以非常方便的进行查询。但是,这无意也会给程序性能带来隐患,比如查询 N+1的问题。举个栗子:用户可以发表多篇博文,那么 UserModel 和 PostModel 的关系就
......
460
0
0
2022-04-19
模型配置class MarketWork extends Model
{
protected $table = 'market_work';
public $timestamps = false;
// public function send_log(){
// return $this->be
......
396
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::
......
365
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
......
388
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
......
409
0
0
2022-04-12
简介今天开始写点简单的内容,把开发过程中经常用到的查询列出来,想到哪里写到哪里吧。提纲:一般查询or 查询like 查询when 条件查询with事务joinunion开启日志跨库查询分页1. 一般查询$user = User::find(1); // 查询单个记录
$users = User::where('status', 1)->get();
......
460
0
0
2022-04-12
简介自动迁移是如今比较常用的功能,下面就用自动迁移部署本项目的所有表并用 seeder 初始化一些数据直接贴代码php artisan make:migration create_admins_table;
Schema::create('admins', function (Blueprint $table) {
$table->id()
......
486
0
0
2022-04-12