cakephp sluggable 字段在从“名称”更改为“标题”后不会显示在索引中

Posted

技术标签:

【中文标题】cakephp sluggable 字段在从“名称”更改为“标题”后不会显示在索引中【英文标题】:cakephp sluggable field won't display in indiex after being changed from 'name' to 'title' 【发布时间】:2011-06-26 15:30:59 【问题描述】:

我最近开始使用我从面包店出来的懒惰行为。它的默认配置使用“标题”字段来创建 slug。所以我将 mysql 表中的字段名称从“名称”更改为“标题”,而不是进行配置更改。

我现在遇到的问题是我无法让这些模型的索引页面显示此表中的任何记录。分页功能有效,状态显示 30 条记录中的 1 条,但索引表中没有任何显示。

所以,我将表格字段改回'name',并对配置进行了更改,以便'label=>'name',但这也没有不行。就好像它现在卡在“标题”上一样。

我什至删除了“作为 sluggable 的行为”,仍然没有改变。

关于为什么更改一个字段名称会阻止显示任何记录的索引,但分页会阻止的任何想法?

总是,非常感谢您的帮助。

保罗

【问题讨论】:

【参考方案1】:

    在您的 config/core.php 中启用调试,看看它给出了什么错误。

    尝试清除项目中 tmp 下的缓存目录。只需删除文件并保留目录结构即可。

【讨论】:

【参考方案2】:

通常发生这种情况是因为缓存的表架构与新架构不对应。因此,当paginate() 调用尝试执行查找时,由于列名无法识别,查询会出错。尝试清除/app/tmp/cache/models 中的文件。并按照 Nik 的建议启用调试。

【讨论】:

感谢你们俩。我按照您的指示,摆脱了缓存的模型文件并在调试时发现了问题。这是控制器中分页参数中的错误字段名称。一如既往地非常感谢!

以上是关于cakephp sluggable 字段在从“名称”更改为“标题”后不会显示在索引中的主要内容,如果未能解决你的问题,请参考以下文章

现有数据库中的 Symfony Doctrine Sluggable 扩展

是否支持 Doctrine Sluggable Unique_base 选项多个字段?

在 cakephp 3 中获取记录时更改字段名称

CakePHP中如何获取表的字段名

Cakephp 3.7 hasOne字段数据不保存

CakePHP 3外键在视图中