4

PHPアクティブレコードでPHPを使用しています。データベースからレコードを取得すると、属性が非公開としてリストされます。属性を繰り返し処理し、キー => 値のペアを取得する必要があります。これはどのように行うことができますか?

$row = \Models\Locations::find(2);

Models\Locations Object
(
    [errors] => 
    [attributes:ActiveRecord\Model:private] => Array
        (
            [id] => 2
            [customer_id] => 6
            [name] => test location
            [address_line1] => 123 test Drive
            [address_line2] => 
            [city] => Moon Township
            [state] => AZ
            [zip] => 12345
            [country] => USA
            [primary_phone_number] => 123.456.7890
            [latitude] => 0
            [longitude] => 0
            [coordinate_precision] => 
        )

    [__dirty:ActiveRecord\Model:private] => Array
        (
        )

    [__readonly:ActiveRecord\Model:private] => 
    [__relationships:ActiveRecord\Model:private] => Array
        (
        )

    [__new_record:ActiveRecord\Model:private] => 
)
4

3 に答える 3

2

モデルのメソッド属性を使用するだけです: $row->attributes()

于 2012-10-29T23:41:34.167 に答える
1

すべてをループしたい場合は、Iteratorインターフェイスを実装する必要があります。

class ModelExtended extends Model implements Iterator
{
   // implement the Iterator interface within - then extend this class instead of Model 
}
于 2012-10-29T17:41:57.673 に答える
1

配列を取得できるパブリック アクセス可能な getter 関数がない限り、できません。

于 2012-10-29T18:39:40.830 に答える