Czy ta linia jest legalna w PHP?
jeśli $ this-> db jest stałą z nazwą bazy danych do użycia.
Dziękuję
Czy ta linia jest legalna w PHP?
jeśli $ this-> db jest stałą z nazwą bazy danych do użycia.
Dziękuję
Nie, struny (a tym samym swoją stałą) powinny być opakowane w nawiasach, tak:
$this->mongo->{$this->db}->$collection_name->insert($document_name);
Spróbuj użyć nawiasów klamrowych zamiast nawiasów:
$this->mongo->{$this->db}->$collection_name->insert($document_name);
lub przypisywanie $this->db
do lokalnej var i używanie że zamiast:
$db_name = $this->db;
$this->mongo->$db_name->$collection_name->insert($document_name);
Nie, nie można mieć ->() -> gdzie masz mongo -> ($ this-> db) -> $ coll ... Może szukałeś
$this->mongo($this->db)->$collection_name->insert($document_name);
$connection->db->collection
jest tylko skrótem:
$this->mongo->selectDB($this->db)->selectCollection($collection_name)->insert(...);
który może działać lepiej w przypadku . +1 dla odpowiedzi BoltClock też, jeśli chcesz trzymać się stylu $x->y->z
.
Chciałeś $this->mongo->selectDB($this->db)->$collection_name->insert($document_name)
Oświadczenie: Nigdy nie pracowałem z MongoDB. (Któregoś dnia ...) – BoltClock
świetnie! doda jako rozwiązanie, gdy pozwoli mi przepełnienie stosu. opcja druga to zły styl. i MongoDB jest niesamowity! – CamelCamelCamel