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']) }}
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥100 已有python代码,要求做成可执行程序,程序设计内容不多
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助
  • ¥15 STM32控制MAX7219问题求解答
  • ¥20 在本地部署CHATRWKV时遇到了AttributeError: 'str' object has no attribute 'requires_grad'