PhalconPHP加入模型Echo

时间:2015-06-01 14:54:51

标签: php mysql phalcon

好的,我有两张桌子。一个称为Properties,另一个称为PrInfo

属性是基表,PrInfo是另一个包含额外信息的表。

我想加入他们,以便在网站上显示信息。

    $query = Properties::query()
        ->leftJoin('PrInfo','pr.pr_id = Properties.id','pr')
        ->execute();

在我的脑海中,每个查询的索引都应该与PrInfo表中的一行连接,因为声明了" pr.pr_id = Properties.id"

但是当我输入" print_r($ query [1]);"时,我可以在执行的查询中看到 确实包含了pr_info表,但我不确定它是否与属性表中的行匹配。

我尝试过做print_r($query[1]['PrInfo'],但我发现错误。

有什么想法吗?

中有以下内容
          protected '_hasManyToManySingle' => null
      protected '_initialized' => 
        array (size=2)
          ...
      protected '_sources' => null
      protected '_schemas' => null
      protected '_behaviors' => null
      protected '_lastInitialized' => 
        object(PrInfo)[51]
          ...
      protected '_lastQuery' => null
      protected '_reusable' => null
      protected '_keepSnapshots' => null
      protected '_dynamicUpdate' => null
      protected '_namespaceAliases' => null
  protected '_modelsMetaData' => null
  protected '_errorMessages' => null

1 个答案:

答案 0 :(得分:0)

您应该在模型中定义正确的关系,而不是使用leftJoin()手动加入:

class Properties extends Model
{
    ...

    public function initialize()
    {
        $this->hasMany("id", "PrInfo", "pr_id");
    }

}

详细了解以下内容: http://docs.phalconphp.com/en/latest/reference/models.html#relationships-between-models