2017-02-05 15 views
2

Doctrineでネイティブクエリの配列結果を取得します。クエリは、$ stockdrinkコンテンツがNotice:ネイティブクエリdoctrineの配列結果で未定義インデックス

"{"stockdrink":[{"id":"39","name":"limon","stockamount":"14","price":"2.20","Drink_id":"5","Bar_id":"12"}]}" 

ですそして今、私はこの文章で$ stockdrink配列のいくつかの値を取得しますが、常に予告未定義のインデックスを取得したい

$conn = $em->getConnection(); 
    $sql = 'SELECT * FROM Stock_drink d WHERE id=?'; 
    $stmt = $conn->prepare($sql); 
    $stmt->bindValue(1,$idstockdrink); 
    $stmt->execute(); 
    $stockdrink = $stmt->fetchAll(); 

です。私はドキュメントを探していて、解決策を見ていませんでした。事前に

$iddrink = $stockdrink["name"]; 
    $name = $stockdrink["name"]; 
    $price = $stockdrink["price"]; 

感謝!!!!

答えて

3

あなたの特定のケースでは、あなたがこのようにコードを変更する必要がありますのではfetchAll()メソッドは、「配列にすべての結果をフェッチ」ので:

この上
$conn = $em->getConnection(); 
$sql = 'SELECT * FROM Stock_drink d WHERE id=?'; 
$stmt = $conn->prepare($sql); 
$stmt->bindValue(1,$idstockdrink); 
$stmt->execute(); 

$stockdrinks = $stmt->fetchAll(); 

$stockdrink = $stockdrinks[0]; 

$iddrink = $stockdrink["name"]; 
$name = $stockdrink["name"]; 
$price = $stockdrink["price"]; 

もっとここhttp://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/data-retrieval-and-manipulation.html#fetchall

+0

どうもありがとう!!!できます!!!! – DBCooper

関連する問題