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就不能用了。