2

我认真对待命名,因为默认情况下它甚至会在许多地方出现在用户面前。

我想创建一个名为 Group 的模型,它指的是类似于 Facebook 组的东西。

因为 group 很常见,我希望可以将它用作其他常用词(例如 date),但是……它是 SQL 中的保留字,也是 ActiveRecord 方法(即Model.group(*args))。

我真的找不到有效的(和我需要的通用的)同义词:在这种情况下我应该如何表现?“组”这个词有什么约定或任何常见的替代品吗?

4

2 回答 2

1

聚会迟到了,但一位同事给我发了这个,我不得不纠正他。

解决方案是引用您的标识符。那么就没有问题了。在 Mysql 中,我们用反引号 (`) 引用:

MariaDB [some_db]> create view `group` as (select 1 as one);

MariaDB [some_db]> select * from `group`;
+-----+
| one |
+-----+
|   1 |
+-----+

在 Postgresql 中,您必须使用普通的双引号 (") 来代替:select * from "group";。在 MSSQL 中,您使用方括号 ([]): select * from [group];

SQL中有很多保留字,可能会增加新的。除非您确定它们是免费的,否则请始终引用您的标识符。

默认情况下, Active Record应该引用所有标识符。如果它在某些情况下忘记了,那可能是一个错误。

于 2015-06-25T15:25:06.850 回答
0

我将添加一个形容词(即 PrivateGroup,因为我所有的组都是私有的)。

欢迎任何更好的想法。

于 2013-07-24T07:25:46.563 回答