我正在尝试为我的网站创建一个导航栏,用于从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的新手;我应该怎么做/更改以从元素访问数据库表?
答案 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>