读一读

1.首先通过php artisan make:console 文件名 --command=命令名,这时就会在app/Console/Commands目录下生成一个文件。再在app/Console下面的Kernel的$commands下面添加新加的类。

2.编写文件内容,$signature和$description分别是命令名和描述,handle方法就是调用命令时执行的方法。

3.参数的传递和选项

编写signature指定参数 {user?},可选

选项 {--选项名} ,带了为true

protected $signature = 'hello:test2{id}{--y}';

4.获取输入

使用argument和option方法可以实现参数了选项值

$id = $this->argument("id");
$isCountId = $this->option('y');

5.在handle方法中可以用info,comment,question,error来输出提示信息,confirm()让用户确认,table(头,身体)表格布局。


没有定义命名空间的,就是在全局空间中。使用  反斜杠+方法()  调用

//例如
\Request::get('name');

DB::table("student as a")->...

平常数据库中不用as关键字的,但是不用就出错了,所以还是用吧!


$table->shareLock();//共享锁避免选择行被修改
$table->lockForUpdate();//避免选择的行被其他共享锁修改或删除

$db = DB::table('user');
$db->orderBy(字段,"desc");
$db->groupBy(字段)->having('参数','条件',数值)->get();//havingRaw(原生条件)
$db->skip(3)->take(5);//限定,跳过3条取5条


$db = DB:table("users");
$db->insert(数组字段对值);
$db->insertGetId(数组) ;//这个会返回插入后的id值
$db->where()->update(数组字段对值);
$db->where()->increment(字段,增加的值);
$db->where()->decrement(字段,减少的值);
$db->where()->delete();
$db->truncate(); //删除所有重置id

where(字段,判断条件,值)

判断条件有= <> like等,相等的话可以省略中间参数,只需两个参数

还有orWhere(),whereBetween(),whereNotBetween(),whereIn/whereNotIn(),whereNull(),whereNotNull(),whereExists(),whereRaw()等


$message= $validator->errors()
$message->first('email');//获取指定字段的第一条信息
$message->get('email');//获取某个字段的所有信息
$message->all();//获取所有错误信息
$message->has('email');//某字段是否有错误信息

php artisan make:request StoreBlogPostRequest

生成请求类在app/Http/Requests,添加验证规则到rules方法

public function rules(){
  return  [验证数组]
}

使用控制器的方法的传入请求依赖改为

StoreBlogPostRrquest $request

它会在控制器方法调用前进行调用


use Validator;//引入Validator验证者

$rule=[字段=>规则,......];
$message=[字段.规则=>要提示的信息];

$validator = Validator::make($request->all(),$rule,$message);
if($validator->fails()){
    return back()->withErrors($validator)->withInput();
}

这里要使用back(),不能用redirect(),不然视图中的$errors就不能用了。