读一读

验证不通过后,错误的信息会错到一次性的session中,laravel会自动检查,如果存在错误的话会放到$errors变量中。

@if(count($errors)>0)
@foreach($errors->all() as $error)
    {{$error}}
@endforeach
@endif

用点.取到具体的请求参数

如author.name,author.description


这个是控制器基类注入的一个自动验证返回的方法。

控制器方法中

public function store(Request $request){
$this->validate($request,[
      'title'=>'required|unique:post|max:255',
      'body'=>'required',
    ]);
}

required  必须

unique:posts  posts表中唯一

具体验证可以看文档


控制器基类中使用ValidatesRequests trait,提供了一个便利的validate方法

他接受输入数据和验证规则,进行验证,通过往下执行,不通过就会返回上一层,ajax返回json响应,错误信息存放在一次性session中,框架会自动检查session中的错误,在请求视图时,自动绑定$errors变量。

count($errors)>0  判断是否存在错误

$errors->all() as $error遍历所有错误。


auth()//返回一个认证器
back()//重定向饭用户的前一个位置
bcrypt()//进行哈希加密
collect()//创建集合
config()//获取配置
csrf_field()//生成一个含CSRF令牌值的HTML隐藏域
csrf_token() //获取到这个CSRF令牌值
dd()//输出变量值并终止脚本
env()//获取环境变量值
old()//获取一次性存放在Session的值
redirect()//返回重定向器事例进行重定向
request()//返回当前请求实例或获取一个输入项
response()//创建一个响应实例
session()
view()//视图
with()//返回给定的值,链式调用

$data->reject(function($user){
     return  条件;
})

取到的数据再丢弃符合条件的数据


user      role   permission

用户       用户组        权限

用户与用户组相关,用户组与权限相关,用户属于哪个组就拥有这个组的所有权限。

对应的权限,有的角色可以访问,有的不可以访问,具体再写


单用all()方法获取所有数据

是结果集数组,每一个结果都是PHP对象的StdClass实例。可以使用foreach来访问每个结果

$r=DB::table()->select('name','e as email')->get();//指定字段查询
distinct();//强制返回的结果不重复
$r->addSelect('age')->get();//在已查询的字段上添加查询的字段


执行原始表达式

DB::table()->select(DB::raw('department,count(id) as count'))->get();
lists(字段);//获取单列值数组

Eloquent是Laravel内置的ORM系统

php artisan make:model 名字;//在app目录下创建继承自Eloquent的Model的模型

不用写东西功能就已经很强大了


数据迁移,创建Migration

php artisan make:migration 模型名

在database下的migrations目录下,有个up方法

function up(){
    Schema::create('articles',function(Blueprint $table){
    $table->increment('id');
    $table->string('title');
      //还有text,integer,timestamps方法
      });
}


生成Seeder,播种机,填充测试数据等

php artisan make:seeder 模型名Seeder

生成在database/seeds 目录下

public function run(){
  DB::table('artical')->create();//循环插入数据
}

随后在database/seeds/DatabaseSeeder.php里面的run()写

public function run(){
    $this->call(ArticleSeeder::class);
}
php artisan db:seed

用php artisan migrate命令迁移,创建表,在database下的migration/文件是描述数据库构造