Bir nesnenin PHP erişim veri

4 Cevap php

Ben veri bir parça almak için arıyorum hangi bir nesne, nesne bu gibi görünüyor var

    Product Object
(
    [name] => Simon Test Cup
    [code] => 123456789
    [category_id] => 3
    [range_id] => 26
    [price] => 10.00
    [price_logo_add] => 0.25
    [image_id] => 846
    [rank] => 
    [special_offer] => N
    [cartProps] => Array
        (
        )

    [section] => 
    [vatPercentage] => 17.5
    [id] => 551
    [date_created] => 2010-05-25 12:46:57
    [last_updated] => 2010-05-25 14:10:48
    [user_id_updated] => 0
    [_aliases] => Array
        (
            [id] => 551
            [date_created] => 2010-05-25 12:46:57
            [date_updated] => 2010-05-25 14:10:48
            [user_id_updated] => 0
            [name] => Simon Test Cup
            [code] => 123456789
            [category_id] => 3
            [range_id] => 26
            [price] => 10.00
            [price_logo_add] => 0.25
            [image_id] => 846
            [range_image_id] => 848
            [main_image_id] => 847
            [rank] => 
            [special_offer] => N
        )

    [_default] => Array
        (
            [special_offer] => N
        )

    [_related] => Array
        (
            [_related] => Array
                (
                    [range] => stdClass Object
                        (
                            [key] => range
                            [group] => _related
                            [foreignKey] => range_id
                            [indexName] => id
                            [tableName] => cc_range
                            [objectName] => Range
                            [userFieldlyColName] => name
                            [criteria] => id='{%range_id%}'
                            [sqlPostfix] => 
                            [populateOnLoad] => 
                            [objects] => Array
                                (
                                    [26] => Range Object
                                        (
                                            [name] => Shot glasses
                                            [url_name] => shot-glasses
                                            [description] => Personalized shot glasses make great commemorative gifts, souvenirs and wedding favours. Just select your favourite shape and send us a customization form with your logo. See our glassware sale page for info on free logo origination.
                                            [leader] => Customized shot glasses make great commemorative gifts, promotional items and wedding favours.  Individual gift boxes are available so you can give the glasses away easily.
                                            [category_id] => 3
                                            [site_id_csv] => 
                                            [image_id_main] => 565
                                            [image_id_thumb] => 566
                                            [rank] => 
                                            [site] => main
                                            [id] => 26
                                            [date_created] => 2008-05-18 21:39:52
                                            [last_updated] => 2009-02-03 13:49:10
                                            [user_id_updated] => 0
                                            [_aliases] => Array

Ben [range] = stdClass Object gelen kimliği almak isteyen am

4 Cevap

Gördüğünüz edebileceğiniz gibi, sizin Product nesne bir niteliği vardır range_id:

Product Object
(
    [name] => Simon Test Cup
    [code] => 123456789
    [category_id] => 3
    [range_id] => 26          // <--- here!
    [price] => 10.00
    ...

Yani üzerinden kimliği almak gerekir:

$object->range_id

Ama muhtemelen, Product ve Range sınıfları bu bilgilere erişmek için ve yerine bunları kullanmak gerekir izin yöntemleri tanımlar. Siz sadece bunları kullanmak için nasıl belgeleri okumak zorunda.

Sen could $ object-> _related ["_related"] ["dizi"] söylüyorlar, ama bu yapı muhtemelen ondan isteyebilirsiniz şeyler için erişimcilerini olan bir nesne olmasıdır. Bu açıkça bir şey iç yapısı hakkında endişelenmenize amaçlanmamıştır değiliz.

$product->_related["_related"]["range"]->key

Ama ben de anladım emin değilim

Felix'in 'cevabını varsayarak (çok iyi olabilir), ben _related alan korumalı olduğunu tahmin ediyorum çalışmıyor. Bu durumda, ilgili nesneleri olsun izin bu sınıfta bir erişimci yöntemi olmalıdır. Nesne üzerinde get_class_methods() kullanmak ve mevcut yöntemleri ile yazınızın düzenleyin.