Cakephp导航栏:使用模型中的数据填充元素

时间:2013-08-05 22:51:33

标签: php cakephp

我正在尝试为我的网站创建一个导航栏,用于从Model的数据库表中获取信息。导航栏当前在Element中实现,并具有硬编码链接。这是我到目前为止所做的:

Photo控制器中我有这个:

public function get_all() {
    return $this -> Photo -> find("all");
}

在header.ctp Element中我有这个:

<ul>
    <?php
        $photos = $this -> Photo -> get_all();
        foreach($photos as $photo) {
            ?>
            <li><?= $this -> Html -> link($photo["Photo"]["title"], array("action" => "view", $photos["Photo"]["id"])) ?></li>
            <?php
        }
    ?>
</ul>

我还是Cakephp的新手;我应该怎么做/更改以从元素访问数据库表?

1 个答案:

答案 0 :(得分:1)

您希望在元素中使用requestAction来要求控制器为您提供模型中的列表。

你快到了。

 <ul>
     <?php
         $photos = $this->requestAction(array('controller'=>'photos','action'=>'get_all'));
         foreach($photos as $photo) {
             ?>
             <li><?= $this -> Html -> link($photo["Photo"]["title"], array("action" =>      "view", $photos["Photo"]["id"])) ?></li>
             <?php
         }
     ?>
 </ul>