Laravel 5.1 升级到 5.7,你需要注意的

欢迎可爱善良的小姐姐和小哥哥们

从laravel 5.1 升级到5.7,有一些需要修改和升级的地方,这里我总结了一下,请多多请教

lists 函数 换成 pluck

5.1中:$users = User::whereIn('id', '>', '5')->lists('id')->toArray();

5.7中:$users = User::whereIn('id', '>', '5')->pluck('id')->toArray();

view 函数中的 “.” 更换成 “::”

5.1中:return view('personal.index', compact('users'));

5.7中:return view('personal::index', compact('users'));

first和last函数

$user = User::where('id', '<', 5)->get();
5.1中:$userInfo = $user->first(function ($key, $item) { return $item['id'] == 5; }); // 后者可省略

5.7中:$userInfo = $user->first(function ($item, $key) { return $item['id'] == 5; });// 后者可省略

(备注:last函数同first)

模板中的 or 去掉,可以改成“?:” 或者 其他方式

$user = User::where('id', '<', 5)->get();
5.1中:{{ $userInfo->real_name or '' }}

5.7中:{{ $userInfo->real_name ?: '' }}

laravel 5.7使用的easywechat ,发送模板消息的方式需要更改

$config = [
'app_id' => 'wx7c65eb24a8fbb19f', // AppID
'secret' => '7b0065e65d3dd02e0f61d6c8fc8', // AppSecret
'token' => 'wechat', // Token
'ace_key' => 'yw5MzAQsfbRpBrdQ3X4SjUj6cFQc43gCRzAuW' // EncodingAESKey
];

laravel 5.1 中:

$wechat_app = new \EasyWeChat\Foundation\Application($config);
$notice = $wechat_app->notice;
$result = $notice->send([
'touser' => $openid,
'template_id' => 'jNZPRlwUp7s4fcT_aAVNH0yjf9Qssbe-kaEkPW1dHYg',
'url' => $url,
'data' => [
'first' => $first,
'keyword1' => $keyword1,
'remark' => $remark
]
]);  

laravel 5.7 中:

$wechat_app = Factory::officialAccount($config); //调用方式更改
$result = $wechat_app->template_message->send([ //发送方式更改
'touser' => $openid,
'template_id' => 'jNZPRlwUp7s4fcT_aAVNH0yjf9Qssbe-kaEkPW1dHYg',
'url' => $url,
'data' => [
'first' => $first,
'keyword1' => $keyword1,
'remark' => $remark
]
]);

laravel5.7中的Validator中的日期匹配规则

laravel 5.1 中:

$base_rule = [
        'type' => 'required|integer|between:0,5',
        'time' => 'required|date_format:yy-m-d H:i',
];

laravel 5.7 中:

$base_rule = [
        'type' => 'required|integer|between:0,5',
        'time' => 'required|date_format:Y-m-d H:i', //此处有更改
];

laravel5.7 升级之后,未传值的被request直接处理了null,需要注意

-------------------结束

elegant
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

社区文档:

将托管在 packagist.org 和 github.com 的扩展包使用国内 CDN 加速
GitHub Laravel 扩展包 TOP 250
速查表方便快速查询框架功能,支持手机访问,支持中英文版本
Laravel 中文文档,由社区用户翻译和维护,将会保持一直更新
此文档的目的,就是为了提高技术团队的凝聚力、一致性和生产效率。
开发环境的部署,开发者工具的选择,适用于 Mac 和 Windows。
浓缩过后的精华
Laravel Nova 后台管理面板文档的中文翻译
Lumen 中文文档,由社区用户翻译和维护,将会保持一直更新
Laravel 下知名扩展包 Dingo API 的中文文档,Laravel API 开发必知必会