当findAll的查询条件$conditions为空数组时会报错
发布于:2022-01-17 09:50:54
#1 php
在做条件查询的时候,我经常先$conditions=array(); 然后用加入数组的方式来增加查询条件,偶尔发现这样就导致当没有条件查询时$conditions为空数组而查询报错。看了下findAll的方法里面确实没有判断$conditions是否为空。
2010-03-06 17:15:14
#2 jake
嗯,也是有必要的一个判断。:handshake
从findAll本身就逻辑来说,$conditions=null即查找全部的记录,所以这里要讨论一下,如果$conditions数组为空,那么应该是返回全部记录呢,还是返回没有记录呢?
2010-03-06 17:44:30
#3 php
$conditions数组为空,也就是没查询条件返回全部记录,我想其他朋友也是这么需求吧?
2010-03-06 17:45:50
#4 jake
$conditions数组为空,也就是没查询条件返回全部记录,我想其他朋友也是这么需求吧? ...
php 发表于 2010-3-6 17:45 
大致上逻辑是如此。
2010-03-07 10:27:15
#5 greysky
这就和其他语言里的数组申明一个道理,比如C或者C++里申明数组为什么要声明0长度数组呢?
bytes[] b;
和
bytes[] b = [];
是不一样的。当使用长度length来检测的时候,一个为nothing就会报错,一个为0正常。
2010-04-07 22:18:02