1、控制器try-catch包容样式,基本结构默认书写,验证+验证失败+代码实现,catch抛出异常:Log::error('快递公司[编辑]失败|执行时间:' . Carbon::now()->toDateTimeString() . "|错误文件:" . $e->getFile() . "|错误行号:" . $e->getLine() . "|错误原因:" . $e->getMessage());
2、路由设置和控制器名结和,不显示id数据,所用id以参数方式前端提交;
3、默认索引添加,关联字段,where查询字段,默认可以以created_at以及各种关联ID为主,日期以默认三个月为前提:
# 日期
if (request('start_time') && request('end_time')) {
$startTime = Carbon::parse(request('start_time'))->startOfDay()->toDateTimeString();
$endTime = Carbon::parse(request('end_time'))->endOfDay()->toDateTimeString();
$query->whereBetween('business_orders.meet_begin_at', [$startTime, $endTime]);
}
# 默认最近三个月
$query->whereBetween('business_orders.created_at', [Carbon::now()->firstOfMonth()->subMonth(3)->toDateTimeString(), Carbon::now()->endOfDay()->toDateTimeString()]);
4、路由规定名称,以订单为例,不同种类订单定义不同路由name,对应控制器$request->route()->getName()查询路由别名,分类查询数据显示;
5、控制器多字段搜索:
if (request('search_universal') && request('search_type')) {
switch (request('search_type')) {
case "out_business_order_number":
$query->whereIn('business_orders.out_business_order_number', array_filter(explode('&',preg_replace("/(,|,|\s)/",'&',request('search_universal')))));
break;
6、数据库查询,关联主表id使用leftJoin关联查询,多表关联使用join+关联ID;
7、待定