php - Cakephp 数据库表中的网页标题

标签 php mysql cakephp

我希望我的面板管理员能够随时更改 index.ctp 标题。这就是为什么我创建了表“websites”,其中包含“id”和“par”列,该表“Website”的模型和 Controller “WebsitesController”。但我想将其全部写入名为“InfosController”的主网站 Controller 中,

我想连接到表并打印列“par”的值作为网页标题。但我管理了错误“发生内部错误”。 我认为问题出在 Controller 中,但我无法弄清楚。

InfosController.php

public function admin_index()
{

    $this->set('title_for_layout',  $this->title());
    $this->Info->recursive = 1;
    $this->paginate = array(
        'limit' => 2,
        'order'=>array('id'=>'desc')
    );
    $informer = $this->paginate('Info');
    $this->set('inform', $informer);
}

public function title()
{
    $this->loadModel('Website');
    $dane = $this->Website->findById(1);
    $title = $dane['Website']['par'];
    return $title;
}

在 admin_index.ctp 中我有

...
 <title><?php echo $title_for_layout ?></title>
...

加载模型后一切都变得更糟,有什么猜测吗?

编辑:

好的,我成功了。不知何故,我的 Controller 想要访问我的表中不存在的列。所以我必须在我的网站表中创建带有空值的“info_id”列,并且一切正常。很奇怪,是吗?

最佳答案

尝试在 title() 方法中调试 $dane ...并在执行 findby 时处理异常,以防找不到或找不到您要查找的网站。

也尽量避免为不必要的操作加载模型,如果将网站信息存储在 session 中会更好。

关于php - Cakephp 数据库表中的网页标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20238819/

相关文章:

php - NodeJS 获取两行不同数据

php - 升级到 MySQLi - 就像将 mysql 换成 mysqli 一样简单?

php - 与 Laravel 8 上的 setKeysForSaveQuery() 覆盖不兼容的方法

mysql - 如何在 MySQL 中将行更改为列

php - 在 Bootstrap 中为 Inflector 定义一个奇异规则

cakephp - 如何在 Cakephp 中添加 id 和 class 来选择框

javascript - 如果未选中所有复选框,如何显示警报?

php - Laravel 从 MySQL 中获取错误 : Trying to get property of non-object

php - 如何每24小时将mysql列重置为0?

php - 在 TinyMCE 中使用新的 iframe 嵌入代码嵌入 YouTube 视频