我正试图为我的网站创建一个导航栏,它将从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的新手;我应该做什么/更改什么才能从元素访问数据库表?
您希望在元素中使用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>