Мне нужна ваша помощь, потому что я перед необычной проблемой: В моем коде у меня есть первая функция, в которой я выполняю запрос с PDO, который возвращает массив с результатом переменную, называемую «результат». Когда я делаю var_dump() на этой переменной, он показывает мне:моя переменная имеет 2 типа
array(4) { ["id_offre_var"]=> string(4) "7061" ["id_offre"]=> string(4) "3216" ["prix"]=> string(5) "29.90" ["prix_public"]=> string(5) "69.00" }
Итак, у меня есть массив, это нормально.
Затем я вызываю функцию под названием hydrate(), в которой я помещаю свою переменную «результат». Но, в этой функции, когда я делаю var_dump() по этому показателю (моя предыдущая переменная «результат»), он показывает мне, что:
array(4) { ["id_offre_var"]=> string(4) "7061" ["id_offre"]=> string(4) "3216" ["prix"]=> string(5) "29.90" ["prix_public"]=> string(5) "69.00" } bool(false)
Моя переменная теперь массив и булево! Очевидно, это вызывает у меня проблему для следующего.
Моя первая функция:
public function getVarianteForNewsletter($idOffre)
{
$sql = "SELECT id_offre_var, id_offre, prix, prix_public FROM apm_offres_variante
WHERE id_offre = :offre
ORDER BY prix
LIMIT 0,1";
$stmt = $this->_dal->prepare($sql);
$stmt->bindValue(":offre", $idOffre, PDO::PARAM_INT);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
var_dump($result);
$Object = new OffreVariante();
$this->hydrate($Object, $result);
return $Object;
}
Тогда моя функция гидрат():
protected function hydrate($Object, $params)
{
var_dump($params);
foreach ($params as $key=>$param)
{
$var = array_search($key, $this->_varsColsName);
if ($var != false)
{
//if $var is a foreign key to another object
if (array_key_exists($var, $this->_foreignKeys))
{
$fk = $this->_foreignKeys[$var];
$daoName = "DAO".ucfirst($fk);
$dao = new $daoName($this->_dal);
$param = $dao->getById($param);
}
$setter = "set".ucfirst($var);
$Object->$setter($param);
}
}
}
Bonjour Monsieur Guillaume. Было бы полезно, если вы поделитесь соответствующим кодом с вашим 1-м методом и методом 'hydrate()'. – NSNoob
Возможно, вы видите два разных «var_dump» – Amarnasan
. Я добавил код :) –