模板截取字符串
{{ str_limit($value->description, 20, '...') }}
// 5.9 版本中废除了 str_limit 方法,使用 Str::limit
{{ Str::limit($value->description, 20, '...') }}
分页
# 模板含参数输出
{{ $data->appends(Request()->all())->links() }}
8.x 版本使用 Bootstrap
https://learnku.com/docs/laravel/8.x/pagination/9402#29e843
8.x 之前默认使用 Bootstrap CSS 样式,8.x 默认使用 Tailwind 视图;使用 Bootstrap CSS 分页视图可以在 AppServiceProvider 中调用分页器的 useBootstrap 方法 :
// app/Providers/AppServiceProvider.php
use Illuminate\Pagination\Paginator;
public function boot()
{
Paginator::useBootstrap();
}
创建公共函数文件
1,在 app 文件夹下创建 Helpers.php 文件;
2,在 composer.json 中的 autoload 下增加以下代码加载自动文件:
"files": [
"app/Helpers.php"
]
3,执行命令自动加载:
composer dump-auto
数据查询,返回指定值
# 返回指定的字段值信息列表
DB::table('order')->where('status', 1)->pluck('id')->toArray();
# 打印结果:
array:3 [▼
0 => 100
1 => 101
2 => 102
]
# 返回指定的单个字段值
DB::table('order')->where('id', 100)->pluck('id')->first();
# 打印结果:
100
拼接字符串查询
# 用户名查询
$users = DB::table('user')
->whereRaw("concat_ws(' ', firstname, lastname) like '%".$keyword."%'")
->orWhere(function($query) use ($keyword) {
$query->whereRaw("concat(firstname, lastname) like '%".$keyword."%'");
})
->get();
# 或使用以下方式
$keywrod = str_replace(' ', '|', $keyword); //多个空格异常,可优化
$users = DB::table('user')
->whereRaw("concat(firstname, lastname) REGEXP '".$keyword."'")
->get();
常用目录
app_path()
返回app目录的绝对路径。
还可使用app_path函数为相对于app目录的给定文件生成绝对路径:
$path = app_path('Http/Controllers/Controller.php');
base_path()
返回项目根目录的绝对路径。
还可使用base_path函数为相对于应用目录的给定文件生成绝对路径:
$path = base_path('vendor/bin');
config_path()
database_path()
public_path()
storage_path()
返回storage目录的绝对路径。
还可使用storage_path函数生成相对于storage目录的给定文件的绝对路径:
$path = storage_path('app/file.txt');
FIND_IN_SET
$coupon = DB::table('coupon')->whereRaw('FIND_IN_SET(' . $product->id . ', product_ids)')->get();
表单提交默认将空值转为null
在 app/Http/Kernel.php 中注释掉 ConvertEmptyStringsToNull 中间件:
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\App\Http\Middleware\TrimStrings::class,
//\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
];