fetchAll() avec classe imbriqué
Bonjour,
J'essaye de faire en sorte que ma fetchall() cree automatiquement mes objets.
J'ai un objet carte, un objet edition et l'objet carte contient l'objet edition.
classe edition :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <?php
class Edition {
private $code;
private $nom_fr;
private $nom_en;
private $sigle;
public function __construct($code, $nom_en){
$this->code = $code;
$this->nom_en = $nom_en;
$this->nom_fr = NULL;
$this->sigle = NULL;
}
} |
classe carte
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| <?php
require_once 'src/classe/Edition.class.php';
class Carte {
private $id;
private $name_en;
private $name_fr;
private $edition;
public function __construct($id, $name_en, $name_fr, $edition_code, $edition_name){
$this->id = $id;
$this->name_en = $name_en;
$this->name_fr = $name_fr;
$this->edition = new Edition($edition_code,$edition_name);
}} |
ma page gérant les données
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| //Construction de la requete
$strQuery = "SELECT c.id id, c.name_en name_en, c.name_FR name_fr, e.name_en edition_name, e.code edition_code FROM carte c JOIN edition e ON (c.code_edition = e.code) WHERE 1 ";
if (isset($_POST["carte"]))
{
$strQuery .= " AND c.name_FR LIKE :nameFR ";
}
$query = $db->prepare($strQuery);
if (isset($_POST["carte"]))
{
$value = $_POST["carte"]."%";
$query->bindParam(":nameFR", $value, PDO::PARAM_STR);
}
$query->execute();
$list = $query->fetchAll(PDO::FETCH_CLASS, "Carte", array("id","name_en", "name_fr", "edition_code", "edition_name")); |
Et en fait ca fonctionne pas j'ai rien dans ma list d'objet.
Quelqu'un pourrait il m'aider