0

Lithium を使用して mongoDb に保存されているデータに対して全文検索を実行しようとしています。

コントローラーでそれを実行しようとしている方法は次のとおりです。

$mongodb = Connections::get('default')->connection;
$results = Page::connection()->connection->command(array("text" => "Page", 'search' => "term" ));

私も試しました:

$results = Page::connection()->connection->command(array("text" => "Page", 'search' => "term" ));

ただし、これらは両方とも次を返します。 致命的なエラー: 非オブジェクトでのメンバー関数 command() の呼び出し

私は何を間違っていますか?

編集:

Page に対する単純なクエリが正常に機能していることを付け加えておきます。例えば:

$results = Page::find('all');

私が期待するように、ページコレクション内のすべてのドキュメントを含む配列を返します。

更新 2:

このすべてを WAMP サーバーから実行していました。今日、Linuxサーバーから実行しようとしましたが、まったく同じエラーが発生しました。私はこれに本当に困惑しており、助けが必要です。誰にもアイデアはありますか?

現在の Page モデルは次のとおりです。

<?php
namespace app\models;

use lithium\data\Connections; //added during debugging
use lithium\data\source\MongoDb; //added during debuging

class Page extends \lithium\data\Model {

}
?>

これが私の接続です:

 Connections::add('default', array(
        'type' => 'MongoDb',
        'host' => '192.168.48.128',
        'database' => 'my_collection'
 ));
4

2 に答える 2

2

私はこのようにしています:

$plugins = Plugins::connection()->connection->command([
    'text' => 'plugins',
     'search' => $this->request->query['q']
]);
return compact('plugins');

構成を確認することをお勧めします-モデルは他のデータを正常に返していますか? 接続構成は正しいですか?

于 2013-09-24T10:22:01.210 に答える