Ist diese Zeile legal PHP?
$this->mongo->($this->db)->$collection_name->insert($document_name);
Wenn $ this-> db eine Konstante mit dem zu verwendenden Datenbanknamen ist.
Danke
Ist diese Zeile legal PHP?
$this->mongo->($this->db)->$collection_name->insert($document_name);
Wenn $ this-> db eine Konstante mit dem zu verwendenden Datenbanknamen ist.
Danke
Nein, Strings (und damit Ihre Konstante) sollten in Klammern eingewickelt werden, wie folgt aus:
$this->mongo->{$this->db}->$collection_name->insert($document_name);
Versuchen geschweiften Klammern statt Klammern verwenden:
$this->mongo->{$this->db}->$collection_name->insert($document_name);
Oder $this->db
zu einem lokalen var und zum Verwenden, dass statt:
$db_name = $this->db;
$this->mongo->$db_name->$collection_name->insert($document_name);
Nein, Sie nicht haben können ->() -> wo hast du mongo -> ($ this-> db) -> $ coll ... Vielleicht suchten Sie nach
$this->mongo($this->db)->$collection_name->insert($document_name);
$connection->db->collection
ist nur eine Abkürzung für:
$this->mongo->selectDB($this->db)->selectCollection($collection_name)->insert(...);
, die in Ihrem Fall könnte besser funktionieren . +1 für BoltClocks Antwort, auch wenn Sie mit dem $x->y->z
Stil bleiben wollen.
Sie wollten $this->mongo->selectDB($this->db)->$collection_name->insert($document_name)
Haftungsausschluss: Ich habe noch nie mit MongoDB gearbeitet. (Eines Tages ...) – BoltClock
großartig! wird als eine Lösung hinzufügen, sobald Stapelüberlauf mir erlauben wird. Option zwei ist ein schlechter Stil. und MongoDB ist großartig! – CamelCamelCamel