sql >> Database >  >> RDS >> Mysql

Een door PDO geretourneerd object in zijn eigen klasse instellen

Als u een nieuw object wilt ophalen van een bepaalde klasse, gebruik je PDO::FETCH_CLASS . Als u echter eigenschapswaarden wilt schrijven naar een bestaand object die je al hebt, gebruik je PDO::FETCH_INTO , zoals zo:

 $sth->setFetchMode(PDO::FETCH_INTO, $this);
 $sth->execute();
 $sth->fetch();

Houd er rekening mee dat de eigenschappen waarnaar u wilt schrijven openbaar toegankelijk moeten zijn, hetzij rechtstreeks, hetzij via een __set() magische methode.

U moet echter het antwoord van @Truth zorgvuldig overwegen. Het is geen goed ontwerp om dezelfde klasse te hebben (laat staan ​​hetzelfde object !) verantwoordelijk zijn voor zowel databasetoegang als voor het vertegenwoordigen van een record. Zorg dat één klasse verantwoordelijk is voor het beheren van autorisatierecords en een andere voor de records zelf.



  1. Wat is de beste manier om de bijbel in SQL op te slaan?

  2. Hoe InfluxDB te installeren op Ubuntu 20.10

  3. MYSQL:Kun je resultaten ophalen die overeenkomen met 3 van de 4 uitdrukkingen?

  4. MySql- of PHP-functie om lengte- en breedtegraad om te zetten in decimale graden