php - Joomla mysql table.php 语法

标签 php mysql joomla

构建一个组件,版本 1.5(我知道很快就会被释放,但这是我需要使用的。)

/admin/tables/mycom.php 文件存在问题。 (其中 mycom 是组件名称)

我没有关注这个文件的使用。通过阅读演练,它正在创建一个扩展 JTables 的表类。

现在,我使用的一些数据库列名称中包含“空格”字符。即,“field 1”而不是“field1”(不要问我,这不是我的数据。)

识别这些字段的语法是:

 $myfield = null

它说这些引用了 mySQL 表中的字段,但我的字段名称包含空格,这不适用于此语法。

任何帮助理解这个类、它的 php 文件及其用途的信息都将不胜感激。

最佳答案

通过为表创建 JTable 类,大部分用于编辑表的代码都已为您完成。我建议您熟悉 Joomla 库中的 JTable,这样您就知道哪些函数是为您预先编写的,您可以使用和重写。

至于你的数据库列名有空格的问题......老实说,这只是一个坏主意。以下是一些适合您的 MySQL 命名约定最佳实践...

  • 始终使用带下划线的小写字母而不是驼峰式命名法。适用于表名和列名。 (first_name 代替 FirstName,address_1 代替 Address1
  • 每个表都应该有一个“id”列作为主键,不要将其称为 UserID 或其他任何名称
  • 表名称应该是复数(配置文件、支持等)
  • 外键应具有相关表的单数名称,后跟下划线 ID。例如:“profile_id”或“support_id”。

如果可以的话,我建议您对 MySQL 进行一些 ALTER TABLE 更新,例如

ALTER TABLE `#__example` CHANGE `Field 1` `field_1` VARCHAR(50) NOT NULL DEFAULT 'empty';

关于php - Joomla mysql table.php 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13502126/

相关文章:

php - 基于多个复选框运行查询

mysql - SQL 内部连接 ​​2 个表

mysql - 如何从 gitlab 源库迁移到 gitlab 综合库?

php - 将更新和插入查询组合在 mysql 中的同一条语句中

php - Joomla 3.1 覆盖库

php - 对于程序员团队来说,哪种企业级开源 CMS 的学习曲线最陡(最简单)?

Joomla/DjCatalog2 URL 重复

php - 数据库 - 单个表中的数据版本控制

php - UTF-8贯穿始终

javascript - WooCommerce 结帐字段编辑器 (minDate) 不起作用?