laravel中遇到的坑
已经遇到的坑和未来可能遇到的坑都将在这里写出来:
- 在资源控制器中创建新的方法后(如果资源控制器中的7个方法无法满足你的需求时,你就会创建新的方法),接下来就是创建路由,这个时候注意了,你必须要把路由放在资源路由的上面,否则连firbug都不显示错误。fuck!
Route::get('user/del','Admin\UserController@delAll');//开始我放在下面,找了半天答案,fuck
//全是坑坑坑,,必须是Admin\ 而不能是Admin/
Route::resource('user','Admin\UserController');还有写资源控制器的路由时候,那个斜杠必须时 \ 就是上面代码那样写。
在博客分类中,主键用cate_id排序出错,但是主键换成id,再用find查询数据库就OK了.
出现的是下面错误:
记录一些自己在项目中容易忘记的:
(1)当在项目中引入自己的类或者第三方类文件的时候,不要忘记 composer dump-autoload 不然类是不会起作用的。
(2)User::find() 参数默认是主键id
(3)当需要使用数据库时候,除了配置database.php文件里的mysql相关参数外,不要忘记配置.env文件里的数据库相关参数
(4)模板替换后,要把html改成blade.php不然找不到页面
(5)不能用var_dump()打印$request,太可怕了,内存都不够了。可以用dd()输出$request,正确做法是先$input接受$request->all();再打印$input。
(6)删除的时候,在用ajax发送数据时,因为删除和修改都是post方式,这里容易混淆,记住在data数据里传一个{"_method":"delete"}或者{"_method=delete"}就意味着是访问destroy方法;如果是通过表单提交数据而非ajax,则可以使用{{ method_field('PUT') }}来伪造。删除则用{{method_field('delete')}}
(7)RBAC,修改用户拥有的角色或者修改角色拥有的权限时,一定要先删除原有的数据,不然会导致数据重复。比如一个用户多个重复的角色。(这个和修改某一条数据不同,注意区分)
(8)授权中间件:获取当前请求的路由对应的控制器方法名:\Route::current()->getActionName(); //还有要特别注意的是授权中间件是需要连接数据库的,如果每次访问一个页面查询一次数据库就为了判断是否有权限,很显然性能差,解决方法之一是在用户登录的时候,查询用户拥有的权限,然后把权限存储到session中,这样每次判断用户权限的时候就不需要查询数据库了。
(9)分类排序:因为是遍历的数据,所以应该用行内触发事件,用其他的方式触发不了,应该是它无法识别你改变的是哪一个文本框的值。如果想要获取值,需要在传参的时候,传一个this对象。记住:所有遍历的元素,如果想实现触发事件,都应该使用行内js。
(10)修改文章的时候,由于使用百度编辑器,导致存到数据库的content是带有html标签的,那么显示出来的时候需要去掉html标签,laravel框架中使用 {!! 变量名 !!} 就搞定了!哇塞我查了好半天。{{}}不能把html标签转义,而{!! !!}能够把html标签转义。
(11)修改文章重新上传图片后,要删除原来的图片不需要在控制器方法中做处理,直接在ajax上传成功的回调函数中删除即可。需要在回调函数再次发送ajax,js或者jq是客户端语言,图片是在服务器端,要删除图片必须是服务器脚本语言才能删除。
laravel中遇到的坑的更多相关文章
- Laravel中的日志与上传
PHP中的框架众多,我自己就接触了好几个.大学那会啥也不懂啥也不会,拿了一个ThinkPHP学了.也许有好多人吐槽TP,但是个人感觉不能说哪个框架好,哪个框架不好,再不好的框架你能把源码读上一遍,框架 ...
- Laravel中Redis的使用
安装 laravel中使用redis首先需要你通过 Composer 安装 predis/predis 包: composer require predis/predis 配置 redis的配置文件是 ...
- 整理iOS9适配中出现的坑(图文)
原文: http://www.cnblogs.com/dsxniubility/p/4821184.html 整理iOS9适配中出现的坑(图文) 本文主要是说一些iOS9适配中出现的坑,如果只是要 ...
- laravel中日志为daily时如何设置最大保存天数
在laravel中,日志设置为daily时,默认保存七天的日志,超过则清除七天前的日志.可修改默认的设置,假如要保存30天的日志,则配置如下: 在配置文件config/app.php中添加如下代码: ...
- laravel中的错误与日志
日志 laravel中的日志是基于monolog而封装的.laravel在它上面做了几个事情: 把monolog中的addInfo等函数简化成为了info这样的函数 增加了useFiles和useDa ...
- Nancy总结(二)记一次Nancy 框架中遇到的坑
记一次Nancy 框架中遇到的坑 前几天,公司一个项目运行很久的Nancy框架的网站,遇到了一个很诡异的问题.Session 对象跳转到另外一个页面的时候,session对象被清空了,导致用户登录不上 ...
- 整理 iOS 9 适配中出现的坑(图文)(转)
作者:董铂然 本文主要是说一些iOS9适配中出现的坑,如果只是要单纯的了解iOS9新特性可以看瞄神的开发者所需要知道的 iOS 9 SDK 新特性.9月17日凌晨,苹果给用户推送了iOS9正式版,随着 ...
- laravel中的$request对象构造及请求生命周期
laravel应用程序中index.php是所有请求的入口.当用户提交一个form或者访问一个网页时,首先由kernel捕捉到该session PHP运行环境下的用户数据, 生成一个request对象 ...
- cron以及在laravel中使用cron
yum install vixie-cron yum install crontabs /bin/systemctl restart crond.service #启动服务 /bin/systemct ...
随机推荐
- 题解 P3627 【[APIO2009]抢掠计划】
咕了四个小时整整一晚上 P3627 [APIO2009] 抢掠计划(https://www.luogu.org/problemnew/show/P3627) 不难看出答案即为该有向图的最长链长度(允许 ...
- 使用SQL语句查询Elasticsearch索引数据
Elasticsearch 的官方查询语言是 Query DSL,存在毕竟有存在的道理,存在即合理.SQL 作为一个数据库查询语言,它语法简洁,书写方便而且大部分服务端程序员都清楚了解和熟知它的写法. ...
- Css文字效果
1.文字样式:font-family 字体:sans-serif(字体醒目):serif(笔画的开始和结束有额外的修饰部分,易读性较强) *页面设计最好有多个备选字体 2.文字大小:font-size ...
- luogu P4688 [Ynoi2016]掉进兔子洞
luogu 我们要求的答案应该是三个区间长度\(-3*\)在三个区间中都出现过的数个数 先考虑数列中没有相同的数怎么做,那就是对三个区间求交,然后交集大小就是要求的那个个数.现在有相同的数,考虑给区间 ...
- SQL基础:语句执行顺序
SQL入门 select * from table; SQL实战题目 有下面一个表 t ,存储了每个商品类别的成交明细,我们需要通过下面这张表获取订单量大于10对应的类别,并从中取出订单量前3的商品类 ...
- C99 inline关键字
C99 inline 一直以来都用C++用得比较多,这个学期做操作系统的课设用回了C,结果一波內联函数居然链接不过去--查了查资料,C99引入的inline和C++的inline语义区别是很大的,我算 ...
- json字符串对象
1.将字符串转为json对象:JSON.parse(); 2.json对象转字符串:JSON.stringify(); <!DOCTYPE html> <html> <h ...
- ES6新增内容总结
ES6新增内容有:1,模块化思想.2,关于变量let和const.3,解构赋值.4,字符串的扩展.5,函数的扩展.6,箭头函数.7,继承apply的用法 以下就是详解: 1:模块化思想 非模块化有命名 ...
- OpenStreetMap全球库
https://www.loveyu.org/5344.html https://www.jianshu.com/p/957aa4a933d7 https://blog.csdn.net/mrib/a ...
- Wxpython pannel切换
演示效果 实现panel切换思路 1.创建所有在某个区域需要切换面板对象,设置为None self.panel_Celan1 = None self.panel_Celan2 = None self. ...