Bonjour à tous,

J'ai un problème avec ma base de données de locaux professionnels à louer. J'ai ajouté un champ booléen à ma base de données, nommé 'plus', et qui correspond à un attribut de mon objet Bien nommé $plusieurs. Il permet de savoir si le site comporte plusieurs locaux à louer.
J'ai donc dans ma classe Bien :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
public function setPlusieurs(boolean $plusieurs) {
		$this->plusieurs = $plusieurs;
	}
	public function isPlusieurs() {
		return $plusieurs;
	}
et la fonction statique getListeBiens() définie ainsi dans ma classe BienDAO :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public static function getListe_biens() {
 
		$bdd = Connect::getInstance();
 
		$req = $bdd->query('SELECT * FROM biens ORDER BY montant DESC');
 
		$reponse = $req->fetchAll();
		$req->closeCursor();
 
		foreach ($reponse as $k => $v) {
			self::$liste_biens[$k] = new Bien();
 
			self::$liste_biens[$k]->setId($v['id']);
			self::$liste_biens[$k]->setType($v['type']);
			self::$liste_biens[$k]->setDate_creation($v['date_creation']);
			self::$liste_biens[$k]->setDate_modif($v['date_modif']);
			self::$liste_biens[$k]->setCode_postal($v['code_postal']);
			self::$liste_biens[$k]->setVille($v['ville']);
			self::$liste_biens[$k]->setVoie($v['voie']);
			self::$liste_biens[$k]->setSuperficie($v['superficie']);
			self::$liste_biens[$k]->setMontant($v['montant']);
			self::$liste_biens[$k]->setDescription($v['description']);
			self::$liste_biens[$k]->setPlusieurs($v['plus']=0?false:true);
		}
Mais PHP n'en veut pas, et me lance cette remarque surprenante :

Catchable fatal error: Argument 1 passed to Bien::setPlusieurs() must be an instance of boolean, boolean given, called in (...)\bienDAO.php on line 53 and defined in (...)\bien.php on line 84

sachant que la ligne 53 de bienDAO.php est la ligne 23 ci-dessus, et la ligne 84 de bien.php correspond à la première ligne donnée plus haut...

J'ai pensé que la difficulté venait de ce que MySQL ne reconnaît pas le booléen et utilise un TINYINT, le mettant à 0 pour "false". Mais apparemment, le message d'erreur reconnaît qu'un booléen a été donné.
Alors ? Que dois-je faire ?

Merci d'avance.