2015-07-02 3 views
1

У меня есть две таблицы. Который я хотел вернуть не только родительские данные «Списки», но и отношение к «ListTypes». Как я могу это сделать?Получить связанный набор данных на Phalcon

$ d = self :: find(); // WORKS - но отсутствующие отношения, см. Ожидаемый результат.

Таблицы:

  1. Списки
  2. Типы Список

с кодом отношений.

// Models/Lists.php 
<?php 
use Phalcon\Mvc\Model; 

class Lists extends Model { 
    public function initialize() { 
     $this->hasOne('type_id', 'ListTypes', 'id'); 
    } 

    public function getData() { 
     $d = self::find(); 
    } 
} 
?> 

// Models/ListTypes.php 
<?php 
use Phalcon\Mvc\Model; 

class ListTypes extends Model { 
    public function initialize() { 
     $this->belongsTo('id', 'Lists', 'type_id'); 
    } 
} 
?> 

Текущие результаты:

Array 
(
    [0] => Array 
     (
      [id] => 1 
      [name] => Airbus 
      [type_id] => 1 
     ) 
    [1] => Array 
     (
      [id] => 2 
      [name] => BMW 
      [type_id] => 2 
     ) 
) 

Ожидаемые результаты: - Я хочу

Array 
(
    [0] => Array 
     (
      [id] => 1 
      [name] => Airbus 
      [type_id] => 1 
      [type_name] => Airplane 
     ) 
    [1] => Array 
     (
      [id] => 2 
      [name] => BMW 
      [type_id] => 2 
      [type_name] => Car 
     ) 
) 
+0

Bummer! На сегодняшний день я считаю, что лучший ответ будет. https://forum.phalconphp.com/discussion/2104/related-records-automatically-including –

ответ

1

Вы можете использовать рекурсивную функцию, которая будет получать соответствующие модели для вас пока вы устанавливаете псевдоним для дочернего отношения внутри каждой родительской модели. PHP/Phalcon - Automatically nesting objects

Смежные вопросы