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,需要注意
-------------------结束
推荐文章: