一千萬個為什麽

搜索

將一個Doctrine“find()”結果作為一個類返回


所以,我知道一個Doctrine“find()”(Doctrine 2)調用的結果導致了一個基於Doctrine的類,但我試圖通過SOAP連接輸出相關的數據(不要問)並且不希望所有的Doctrine元數據都通過。

例如,我的查找結果('Account',1)為我提供了一個類,其中包含firstName,lastName和emailAddress的屬性。該類的屬性也與硬件模型有關,我可以在那裏使用相關的結果。但是我想要歸還的是:

object(stdClass)#15 (5) {
  ["companyName"]=>
  string(12) "test company"
  ["firstName"]=>
  string(5) "chris"
  ["id"]=>
  int(1)
  ["lastName"]=>
  string(7) "smith"
  ["hardware"]=> array(
    [0] => object(stdClass)#15 (5) {
        ["hostname"]=>
        string(12) "host1",
    [1] => object(stdClass)#16 (5) {
        ["hostname"]=>
        string(12) "host2",
    [2] => object(stdClass)#17 (5) {
        ["hostname"]=>
        string(12) "host3"
  )

似乎應該有一種自動方式來做這種事情所以我不必編寫自定義過濾方法/類只是為了去除我需要的數據。 Doctrine的任何提示都在那裏開發?

最佳答案

嘗試打開相關對象:

$account->setHardware($account->getHardware()->toArray());

但是忘記標準類的東西,獲得它的唯一方法是將對象轉換為數組,然後將它們轉換為對象。無論如何,如果它是一個SOAP連接,我想你應該使用數組而不是對象。

轉載註明原文: 將一個Doctrine“find()”結果作為一個類返回

猜你喜歡