Questa riga è legale in PHP?
$this->mongo->($this->db)->$collection_name->insert($document_name);
se $ this-> db è una costante con il nome db da utilizzare.
Grazie
Questa riga è legale in PHP?
$this->mongo->($this->db)->$collection_name->insert($document_name);
se $ this-> db è una costante con il nome db da utilizzare.
Grazie
No, stringhe (e quindi la vostra costante) deve essere avvolto tra parentesi, in questo modo:
$this->mongo->{$this->db}->$collection_name->insert($document_name);
Provate ad usare le parentesi graffe invece di parentesi:
$this->mongo->{$this->db}->$collection_name->insert($document_name);
o l'assegnazione $this->db
ad una var locale e utilizzando che, invece:
$db_name = $this->db;
$this->mongo->$db_name->$collection_name->insert($document_name);
No, non si può avere ->() -> dove hai mongo -> ($ this-> db) -> $ coll ... Forse stavi cercando
$this->mongo($this->db)->$collection_name->insert($document_name);
$connection->db->collection
è solo una scorciatoia per:
$this->mongo->selectDB($this->db)->selectCollection($collection_name)->insert(...);
che potrebbe funzionare meglio nel tuo caso . +1 anche per la risposta di BoltClock, se vuoi attenersi allo stile $x->y->z
.
Si voleva $this->mongo->selectDB($this->db)->$collection_name->insert($document_name)
Diniego: Non ho mai lavorato con MongoDB. (Un giorno ...) – BoltClock
fantastico! aggiungerà come soluzione una volta che lo stack overflow mi permetterà. l'opzione due è in cattivo stile. e MongoDB è fantastico! – CamelCamelCamel