2017-02-05 9 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(); 

입니다. 나는 de docs를보고 있었고 나는 해결책을 보지 못했다.

$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