2016-09-14 4 views
0

이 내가 모든 연결 및 테이블 정보를 검열 한 내 PHP 코드푸른 표 저장 PHP 오류

<?php 
// Load Azure Drivers 
require_once '../vendor/autoload.php'; 

use WindowsAzure\Common\ServicesBuilder; 
use MicrosoftAzure\Storage\Common\ServiceException; 
use MicrosoftAzure\Storage\Table\Models\QueryEntitiesOptions; 


// Connection String 
$connectionString = 'DefaultEndpointsProtocol=https;AccountName=<account_name>;AccountKey=<account_key>=='; 

// Create table REST proxy. 
$tableRestProxy = ServicesBuilder::getInstance()->createTableService($connectionString); 


$user_input = "Username eq '<user>'"; 

try { 
    $result = $tableRestProxy->queryEntities("<table>", $user_input); 
} 
catch(ServiceException $e){ 
    echo "<h1>Error querying, please contact Admin.</h1>"; 
    die(); 
} 

$entities = $result->getEntities(); 
foreach($entities as $entity){ 
    echo $entity; 
} 
?> 

입니다. 하지만 데모 코드를 사용하면 모든 것이 작동합니다. 하지만 전체 행을 검색하고 싶습니다. 이 오류가 발생하면이 오류가 발생합니다.

Catchable fatal error: Object of class MicrosoftAzure\Storage\Table\Models\Entity could not be converted to string 

아이디어가 있으십니까?

답변

0

일반적으로 말해서이 문제를 제기 한 대상이 echo입니다. 루프 문에 $entity이 개체이므로 직접 echo 수 없습니다.

queryEntities()QueryEntitiesResult 개체를 반환하고 Entity 개체를 배열로 반환하는 getEntities() 함수를 호출합니다.

따라서 함수 $entity->getXXXX() 또는 $entity->getPropertyValue({key})을 사용하면 테이블 저장소 엔티티의 속성을 가져올 수 있습니다.

간략히 살펴 보려면 a simple sample을 참조하십시오.

+0

$ entity-> getProperty ("")를 사용하면 속성을 가져올 수 있지만 모든 속성을 한 번에 하나씩 호출하지 않고 한꺼번에 나열 할 수 있다는 것을 알았습니까? –

+0

현재 이러한 기능이 없습니다 –

+0

감사합니다. 나는 foreach를 사용하여 json 배열로 파싱 해 주셔서 감사합니다. –