laravel 小笔记

 

1  refresh 的作用是重置数据库并重新运行所有迁移。(清空数据库所有表和记录,重新生成迁移)。

php artisan migrate:refresh

 

 

2   在表单提交的时候,失败会重新刷新页面,所有数据都会丢失,把 input 的 value 设置为 {{ old('name') }}   即可在验证失败的时候刷新页面数据保存还在。

<input type="text" name="name" class="form-control" value="{{ old('name') }}">

 

3   laravel的验证:

存在性验证  'name' => 'required'      required 来验证用户名是否为空。

长度验证   'name' => 'min:3|max:50'        min 和 max 来限制用户名所填写的最小长度和最大长度。

格式验证    'email' => 'email'      只需简单的使用 email 便能够完成邮箱格式的验证。

唯一性验证    'email' => 'unique:users'       我们还需要验证用户使用的注册邮箱是否已被它人使用,这时我们可以使用唯一性验证,这里是针对于数据表 users 做验证。

密码匹配验证   'password' => 'confirmed'        如果我们需要确保用户在输入密码时,保证两次输入的密码一致。这时候则可以使用 confirmed 来进行密码匹配验证。

 

 

4   laravel验证错误提示中文包安装,github地址:https://github.com/overtrue/laravel-lang

composer require "overtrue/laravel-lang:~3.0"

 在config/app.php配置文件中修改 :    'locale' => 'zh-CN'

 
 
5   通过控制器向视图携带个信息
创建个session并使用flash方法携带一条信息,  success为会话的建,后面的内容为会话的值
session()->flash('success', '欢迎,您将在这里开启一段新的旅程~');
 
在试图通过
session()->get(’键名‘)  来取出信息;
 
dangerwarningsuccessinfo 这四个键名在 Bootstrap 分别具有不同样式展现效果,因此后面我们将使用这几个键名作为消息提示的专有设定。
session()->flash('success', '欢迎,您将在这里开启一段新的旅程~');
创建个文件存入以下代码,在需要的试图中include上,这样子,在控制器中flash带上信息,视图就能获取到信息。
@foreach (['danger', 'warning', 'success', 'info'] as $msg) @if(session()->has($msg)) <div class="flash-message"> <p class="alert alert-{{ $msg }}"> {{ session()->get($msg) }} </p> </div> @endif @endforeach
 
 
6.   可以用变量对验证进行存储,存储的值为提交的值,这样就不用$request->all() 在去获取用户输入的值了
$userInfo = $this->validate($request,[
'email' => 'required|email',
'password' => 'required'
]);

dd($userInfo);
array:2 [
  "email" => "esaiting@outlook.com"
  "password" => "123456" ]
 
 7. 时间中文化显示:在 Laravel 中,时间戳 created_at 和 updated_at 作为模型属性被调用时,都会自动转换为 Carbon 对象,下图我们使用 Laravel 自带的 dd() 辅助函数验证一下: dd( $user->created_at )    显示结果为 date: " 2011-3-12  12:22:32.0000  " 
 
Carbon 是 PHP 知名的 DateTime 操作扩展,Laravel 将其默认集成到了框架中。diffForHumans 是 Carbon 对象提供的方法,默认情况是英文的,如果要使用中文时间提示,则需要对 Carbon 进行本地化设置。对 Carbon 进行本地化的设置很简单,只在 AppServiceProvider 中调用 Carbon 的 setLocale 方法即可,AppServiceProvider 是框架的核心,在 Laravel 启动时,会最先加载该文件。
 
app/Providers/AppServiceProvider.php:  public function boot() { // \Carbon\Carbon::setLocale('zh'); }   这样子,在要显示的地方就可以使用:
$user->created_at->diffForHumans()  这样转化后的时间为中文格式 比如:2小时前
 
8表单上传图片和文件
  为表单添加 enctype="multipart/form-data" 声明了。请记住,在图片或者文件上传时,为表单添加此句声明是必须的。那我们再次修改下:
  <form action="{{ route('users.update', $user->id) }}" method="POST"                      accept-charset="UTF-8"                      enctype="multipart/form-data">
 

转载于:https://www.cnblogs.com/muwu/p/8971456.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值