php7.0
、Phalcon 3.2
、MongoDB 3.2.14
Phalcon MongoDBは
私はMongoDBのに接続したいのですが、PhalconドキュメントでのみMongoClient経由の接続について()とそれに取り組んでいます。私はphp7.0を持っており、MongoClient()はその中で非難されています。ファルコンで\MongoDB\Driver\Manager()
を正しく使うにはどうすればいいですか? services.php
で は、私がこれを書いた:
/**
* MongoDB connection
*/
$di->set("mongo", function() {
$config = $this->getConfig();
$db_string = sprintf('mongodb://%s:%s/%s', $config->mongodb->host, $config->mongodb->port, $config->mongodb->database);
if(isset($config->mongodb->user) AND isset($config->mongodb->password)) {
$db_string = sprintf('mongodb://%s:%[email protected]%s:%s/%s',
$config->mongodb->user,
(string)$config->mongodb->password,
$config->mongodb->host,
(string)$config->mongodb->port,
$config->mongodb->database);
}
try {
return new \MongoDB\Driver\Manager($db_string);
} catch (MongoConnectionException $e) {
die('Failed to connect to MongoDB '.$e->getMessage());
}
},
true
);
それは動作します。しかし、モデルにはエラーがあります。 app/models/User.php
で私が書いた:
use Phalcon\Mvc\Collection;
class User extends Collection
{
public function initialize()
{
$this->setSource('users');
}
}
とコントローラで:
class IndexController extends ControllerBase
{
public function indexAction()
{
echo User::count();
}
}
をブラウザで私は、この持っている:
Call to undefined method ::selectcollection()
#0 [internal function]: Phalcon\Mvc\Collection::_getGroupResultset(Array, Object(User), Object(MongoDB\Driver\Manager))
#1 /var/www/testing/app/controllers/IndexController.php(8): Phalcon\Mvc\Collection::count()
#2 [internal function]: IndexController->indexAction()
#3 [internal function]: Phalcon\Dispatcher->callActionMethod(Object(IndexController), 'indexAction', Array)
#4 [internal function]: Phalcon\Dispatcher->_dispatch()
#5 [internal function]: Phalcon\Dispatcher->dispatch()
#6 /var/www/testing/public/index.php(42): Phalcon\Mvc\Application->handle()
#7 {main}
私はcorrecltyそれを行うことができますどのように? :)私の英語の私のために申し訳ありません、私はロシアから:)
私の元の質問はhereです。