diff --git a/classes/Managed_DataObject.php b/classes/Managed_DataObject.php index e645b5aec9..8d9bca11b0 100644 --- a/classes/Managed_DataObject.php +++ b/classes/Managed_DataObject.php @@ -334,7 +334,7 @@ abstract class Managed_DataObject extends Memcached_DataObject $object = new $classname(); foreach ($pkey as $col) { if (!array_key_exists($col, $vals)) { - throw new ServerException("Missing primary key column '{$col}'"); + throw new ServerException("Missing primary key column '{$col}' for ".get_called_class()." among provided keys: ".implode(',', array_keys($vals))); } elseif (is_null($vals[$col])) { throw new ServerException("NULL values not allowed in getByPK for column '{$col}'"); } diff --git a/plugins/ActivityModeration/classes/Deleted_notice.php b/plugins/ActivityModeration/classes/Deleted_notice.php index 3c6adeb802..9a0a65c6b2 100644 --- a/plugins/ActivityModeration/classes/Deleted_notice.php +++ b/plugins/ActivityModeration/classes/Deleted_notice.php @@ -99,7 +99,7 @@ class Deleted_notice extends Managed_DataObject static public function fromStored(Notice $stored) { $class = get_called_class(); - return self::getByPK(array('uri', $stored->getUri())); + return self::getByPK(array('uri' => $stored->getUri())); } // The one who deleted the notice, not the notice's author @@ -125,7 +125,7 @@ class Deleted_notice extends Managed_DataObject { $uri = $this->getUri(); if (!isset($this->_stored[$uri])) { - $this->_stored[$uri] = Notice::getByPK('uri', $uri); + $this->_stored[$uri] = Notice::getByPK(array('uri' => $uri)); } return $this->_stored[$uri]; } diff --git a/plugins/Bookmark/BookmarkPlugin.php b/plugins/Bookmark/BookmarkPlugin.php index 6b0c07b6a5..e0f30700ae 100644 --- a/plugins/Bookmark/BookmarkPlugin.php +++ b/plugins/Bookmark/BookmarkPlugin.php @@ -479,7 +479,7 @@ class BookmarkPlugin extends MicroAppPlugin { assert($obj->type == ActivityObject::BOOKMARK); - $bm = Bookmark::getByPK(array('uri', $obj->id)); + $bm = Bookmark::getByPK(array('uri' => $obj->id)); $out['displayName'] = $bm->getTitle(); $out['targetUrl'] = $bm->getUrl(); diff --git a/plugins/Bookmark/classes/Bookmark.php b/plugins/Bookmark/classes/Bookmark.php index e92fd33449..cdbdf526ca 100644 --- a/plugins/Bookmark/classes/Bookmark.php +++ b/plugins/Bookmark/classes/Bookmark.php @@ -69,9 +69,9 @@ class Bookmark extends Managed_DataObject 'description' => array('type' => 'text'), 'created' => array('type' => 'datetime', 'not null' => true), ), - 'primary key' => array('id'), + 'primary key' => array('uri'), 'unique keys' => array( - 'bookmark_uri_key' => array('uri'), + 'bookmark_id_key' => array('id'), ), 'foreign keys' => array( 'bookmark_profile_id_fkey' => array('profile', array('profile_id' => 'id')), @@ -94,8 +94,7 @@ class Bookmark extends Managed_DataObject */ static public function fromStored(Notice $stored) { - $class = get_called_class(); - return self::getByPK(array('uri', $stored->getUri())); + return self::getByPK(array('uri' => $stored->getUri())); } /**