douwengzao5790 2014-05-21 14:49
浏览 16
已采纳

PhalconPHP select_box - 如何使用连接数据作为选项标签?

I have two tables; Pages and PagesTranslation which are joined. I can get all the data and translations; For example on single page I can get title via { page.pagestranslation.getTitle() }}

Now, I am listing all the pages in my controller:

    $pages = Pages::find();
    $this->view->pages = $pages;

And I want to use it in the select:

{{ select("parent_page", pages, 'using': ['id', 'title']) }}

The ID get's populated, but I can't find a way to get title from the pages.pagestranslation to the option label in the select. How can I use joined data values in the select box ?

  • 写回答

1条回答 默认 最新

  • dougong2005 2014-05-24 00:49
    关注

    I believe there's not an out of box solution for this at the moment, but hopefully there's an easy workaround...

    In your Pages model add an property that hooks the title:

    class Pages extends \Phalcon\Mvc\Model
    {
      public function afterFetch()
      {
         $this->title = $this->pagestranslation->getTitle();
      }
    }
    

    Then in Volt nothing changes:

    {{ select("parent_page", pages, 'using': ['id', 'title']) }}
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?