在沙发上使用php:php-on-couch
我正在尝试传入一个startkey和endkey,这有效:
$client->startkey( array( $val1, $val2) ) );
$client->endkey( array( $val1 , $val2) ) );
然而这不起作用:
$client->startkey( array( $val1) ) );
$client->endkey( array( $val1 , '{}') ) );
我认为PHP在使用空对象时遇到了麻烦。有什么想法吗?
答案 0 :(得分:2)
字符串'{}'
是否可能不作为对象发送,而是作为字符串发送?您想发送(格式清晰)
startkey=%5B%22val1%22%5D // decodes to: ["val1"]
endkey=%5B%22val1%22%2C%7B%7D%5D // decodes to: ["val1",{}]
但也许Couch上的PHP正在请求
startkey=%5B%22val1%22%5D // decodes to: ["val1"]
endkey=%5B%22val1%22%2C%22%7B%7D%22%5D // decodes to: ["val1","{}"]
如果是这种情况(我猜了一下),那么使用数组(对象)作为第二个元素呢?
$client->startkey( array( $val1) ) );
$client->endkey( array( $val1 , array() ) ) );
这有用吗?
答案 1 :(得分:0)
我正在补充@JasonSmith的答案,希望它能帮助别人。 这是澄清上述答案所需要的要点。如果将它们作为数组对象传递,则startkey和endkey将起作用,即使您每个只需要一个参数。
$this->couchdb
->startkey(array($gallery_id))
->endkey(array($gallery_id))
->getView('galleries','by_galleryid');