检索Phalcon上的相关数据集

时间:2015-07-02 04:29:28

标签: mysql orm phalcon relation

我有两张桌子。我不仅希望返回父数据“Lists”,还包括与“ListTypes”的关系。我怎么能这样做?

  

$ d = self :: find(); //工作 - 但缺少关系,看到预期的结果。

表格

  1. 解释
  2. 列表类型
  3. 具有以下代码关系。

    // 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
            )
    )
    

1 个答案:

答案 0 :(得分:1)

只要在每个父模型中为子关系设置别名,就可以使用递归函数来获取相关模型。 PHP / Phalcon - Automatically nesting objects