*/
static function getClassKV($cls, $k, $v=null)
{
- if (!is_a($cls, __CLASS__, true)) {
- throw new Exception('Trying to fetch ' . __CLASS__ . ' into a non-related class');
- }
if (is_null($v)) {
$v = $k;
$keys = self::pkeyCols($cls);
*/
static function pivotGetClass($cls, $keyCol, array $keyVals, array $otherCols = array())
{
- if (!is_a($cls, __CLASS__, true)) {
- throw new Exception('Trying to fetch ' . __CLASS__ . ' into a non-related class');
- }
if (is_array($keyCol)) {
foreach ($keyVals as $keyVal) {
$result[implode(',', $keyVal)] = null;
static function pkeyCols($cls)
{
- if (!is_a($cls, __CLASS__, true)) {
- throw new Exception('Trying to fetch ' . __CLASS__ . ' into a non-related class');
- }
$i = new $cls;
$types = $i->keyTypes();
ksort($types);
static function listFindClass($cls, $keyCol, array $keyVals)
{
- if (!is_a($cls, __CLASS__, true)) {
- throw new Exception('Trying to fetch ' . __CLASS__ . ' into a non-related class');
- }
-
$i = new $cls;
$i->whereAddIn($keyCol, $keyVals, $i->columnType($keyCol));
if (!$i->find()) {
static function listGetClass($cls, $keyCol, array $keyVals)
{
- if (!is_a($cls, __CLASS__, true)) {
- throw new Exception('Trying to fetch ' . __CLASS__ . ' into a non-related class');
- }
$pkeyMap = array_fill_keys($keyVals, array());
$result = array_fill_keys($keyVals, array());
*/
static function pkeyGetClass($cls, array $kv)
{
- if (!is_a($cls, __CLASS__, true)) {
- throw new Exception('Trying to fetch ' . __CLASS__ . ' into a non-related class');
- }
$i = Memcached_DataObject::multicache($cls, $kv);
if ($i !== false) { // false == cache miss
return $i;