-3
foreach
ループ外の$result
にアクセスできませんでした。ループ内にdump($results);
を使用すると結果が出ますが、ループの外側にdump($results);
を使用している場合は空です。グローバル変数がsymfonyで動作しない
$results = array();
foreach ($menu as $menus) {
$mid = $menus->getId();
$em = $this->getDoctrine()->getManager();
$connection = $em->getConnection();
$statement = $connection->prepare("SELECT s.subtitle,m.* FROM submenu as s,menu as m where s.menu_id=m.id and m.id=:data");
$statement->bindValue('data', $mid);
$statement->execute();
$results = $statement->fetchAll();
}
dump($results)
'$ menu'には何もありませんか? – Barmar
'foreach'のあなたの変数が後方にあるかもしれないようです。 '$ menus'という名前は配列の名前のように聞こえますが、' $ menu'は配列の要素になります。 – Barmar
ところで、ループ内でステートメントを準備する必要はありません。一度準備し、 'bindParam'を使ってパラメータを変数参照にバインドし、変数を設定して、ループ内で' execute() 'を呼び出します。 – Barmar