thinkphp5.0的一些“坑”

在使用tp5.0集成H-ui的过程中,走过了一些的弯路。毕竟是人写的框架,多少会有一些的BUG。这里把自己遇到的问题列举出来。

1、使用ajax访问后台,后台使用dump调试,报错不精准

我这里先上一个例子。

页面代码:

     $.ajax({
        dataType : 'json',
        type : 'POST',
        url : '__URL__/notice/test',
        async : true,
        data : {
            "aoData" : 'aaaa'//测试数据 
        },
        success : function(data){
            alert(data);
        },
        error : function(XMLHttpRequest, textStatus, errorThrown) {
            alert(XMLHttpRequest.status + "," + textStatus);
        }
    }); 

tp5后台代码:

public function test(Request $request){     
        $aoData = $request->param('aoData');
        dump($aoData);
}

页面结果:

D:\tools\wamp64\www\thinkphp5\thinkphp\library\think\Debug.php:165:null

这里面明明是我们明显的从页面传值{"aoData":'aaaa'}到后台,可后台的dump却为空。但通过将参数返回到页面的操作,又能返回值aaaa,所以,在使用ajax时,还是用最传统的打印方式可靠一些。

2、查询表达式的拼接问题(这个问题只是在5.0中有,5.1已经解决了)

如以下代码:

$sql = Db::name('notice')->where('delete_flg','0')->where('content','like','%d%');
$c = $sql->count();
$r = $sql->select();

我们拼接好了sql的查询条件,然后以这个为基础,去查询总数和结果集,发现,只有第一条有条件筛选的效果,而第二条没有。后来作者回答说是:如果是5.0的话 查询之后 你的所有的查询条件就清空了。也就是说,每次执行一条查询语句,都要重新组合查询条件。所以,这里面建议大家如果用5.0开发的话,最好用数组的方式去组合统一的查询条件。



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值