2016-12-18 1 views
0

コントローラからビューに渡したタイプZend\Db\ResultSet\ResultSetのオブジェクトを使用しています。コードは以下のとおりである:zf2で1行の変数からデータにアクセスする

view/districts/index.php

foreach ($pk_province as $pname) 
{ 
    $p_id = $this->escapeHtml($pname->id); 
    $p_name = $this->escapeHtml($pname->p_name);  
} 

$pk_provinceは、単一のレコードを持っています。だから私はループからそれからデータにアクセスしたい。私は$p_name = $pk_province->p_nameを試しましたが、それは私に未定義の変数$d_nameを与えます。

ご提案ください。

var_dump($pk_province);は、次のことを示しています

object(Zend\Db\ResultSet\ResultSet)#344 (8) { 
    ["allowedReturnTypes":protected]=> array(2) { 
     [0]=> string(11) "arrayobject" 
     [1]=> string(5) "array" 
    } 
    ["arrayObjectPrototype":protected]=> object(Admin\Model\Provinces)#312 (3) { 
     ["id"]=> NULL 
     ["p_name"]=> NULL 
     ["inputFilter":protected]=> NULL 
    } 
    ["returnType":protected]=> string(11) "arrayobject" 
    ["buffer":protected]=> NULL 
    ["count":protected]=> int(1) 
    ["dataSource":protected]=> object(Zend\Db\Adapter\Driver\Pdo\Result)#322 (9) { 
     ["statementMode":protected]=> string(7) "forward" 
     ["fetchMode":protected]=> int(2) 
     ["resource":protected]=> object(PDOStatement)#316 (1) { 
      ["queryString"]=> string(58) "SELECT `provinces`.* FROM `provinces` WHERE `id` = :where1" 
     } 
     ["options":protected]=> NULL 
     ["currentComplete":protected]=> bool(false) 
     ["currentData":protected]=> NULL 
     ["position":protected]=> int(-1) 
     ["generatedValue":protected]=> string(1) "0" 
     ["rowCount":protected]=> int(1) 
    } 
    ["fieldCount":protected]=> int(2) 
    ["position":protected]=> int(0) 
} 
+0

'var_dump($ pk_province)'の出力? – Garry

+0

上記の質問を編集し、var_dump($ pk_province)の出力を追加しました。 – Skylink

答えて

1

あなたはthe ResultSet::toArray methodを使用して配列にResultSetを変換して、配列から最初の行を取得することができます。

$array = $resultSet->toArray(); 
$province = $array[0]; 

それとも、収集するためにthe ResultSet::current methodを使用することができます現在の行:

$province = $resultSet->current(); 
関連する問題