创建模型的时候同时生成新建表的迁移+控制器+路由
//模板 php artisan make:model 表名 -m -c -r // 如: php artisan make:model user -m -c -r
创建新建表的迁移和修改表的迁移
//模板 php artisan make:migration create_表名_table --create=表名 //如:创建订单表orders php artisan make:migration create_orders_table --create=orders //给orders表增加tags字段 php artisan make:migration add_tags_to_orders_table --table=orders // 执行所有迁移 php artisan migrate // 执行迁移指定的表 php artisan migrate --database
创建控制器
php artisan make:controller 表名
创建Rest风格资源控制器(带有index、create、store、edit、update、destroy、show方法)
php artisan make:controller 表名 --resource
清理下配置缓存
php artisan config:clear // 清除配置文件 php artisan view:clear // 清除视图文件缓存 php artisan cache:clear // 清空应用缓存 php artisan event:clear // 清除事件和监听器缓存是
生成应用的 key (会覆盖)
php artisan key:generate
新建一个模型观察者类
应用场景:编写数据缓存刷新等机制(如:商品表数据缓存,监听创建和修改状态来刷新缓存)
php artsan make:observer UserObserver
在一些休息通知、邮件通知、订单、支付场景中,常用到事务+队列
// 为队列数据库表创建一个新的迁移 php artisan queue:table // 查看所有执行失败的队列任务 php artisan queue:failed // 为执行失败的数据表任务创建一个迁移 php artisan queue:failed-table // 清除所有执行失败的队列任务 php artisan queue:flush // 删除一个执行失败的队列任务 php artisan queue:forget // 在当前的队列任务执行完毕后, 重启队列的守护进程 php artisan queue:restart// 数据库事务处理 DB::transaction(function() { DB::table('users')->update(['votes' => 1]); DB::table('posts')->delete(); }); // 开启事务 DB::beginTransaction(); // 手动提交事务 DB::commit(); // 回滚事务 DB::rollBack();
如:我一般这样使用// 开启事务 // DB::beginTransaction(); try{ // ... 业务逻辑 // 处理消息提醒、发邮件通知、支付、订单等,可以结合队列使用 // 手动提交事务 // DB::commit(); }catch (Exception $exception){ // 事务回滚 // DB::rollBack(); }
项目准备上线前可以进行数据的缓存,以便提高运行速度
php artisan config:cache // 缓存配置文件
php artisan view:cache // 缓存视图文件缓存
php artisan cache:cache // 缓存应用缓存
php artisan event:cache // 缓存事件和监听器缓存是