X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=classes%2FMemcached_DataObject.php;h=3de7c16d9bf6d1f2c338a29604e0fd6a20c4021a;hb=c12bb0ab6a2dbfc36113e5d45114a7e1671ff018;hp=41ce715210bec85bcf8f4cf314475a99a34c084c;hpb=cd23c78800b0e2b80200f8e4b1156190330f39c9;p=quix0rs-gnu-social.git diff --git a/classes/Memcached_DataObject.php b/classes/Memcached_DataObject.php index 41ce715210..3de7c16d9b 100644 --- a/classes/Memcached_DataObject.php +++ b/classes/Memcached_DataObject.php @@ -67,10 +67,11 @@ class Memcached_DataObject extends Safe_DataObject * @param string $cls Class to fetch * @param string $keyCol name of column for key * @param array $keyVals key values to fetch + * @param boolean $skipNulls skip provided null values * * @return array Array of objects, in order */ - static function multiGetClass($cls, $keyCol, array $keyVals) + static function multiGetClass($cls, $keyCol, array $keyVals, $skipNulls=true) { $obj = new $cls; @@ -83,6 +84,14 @@ class Memcached_DataObject extends Safe_DataObject throw new ServerException('Cannot do multiGet on anything but integer columns'); } + if ($skipNulls) { + foreach ($keyVals as $key=>$val) { + if (is_null($val)) { + unset($keyVals[$key]); + } + } + } + $obj->whereAddIn($keyCol, $keyVals, $colType); // Since we're inputting straight to a query: format and escape