mysql - Cakephp 查询数据库中的枚举字段

标签 mysql database cakephp enums

我在数据库中有一个字段。它的类型是枚举,看起来像

enum('NO ANSWER', 'ANSWERED', 'BUSY').

我需要将这些值放入下拉列表中。如何在 cakephp 中编写查询? 我试过:

$result = TableRegistry::get('Calls')->find('list', ['valueField' => 'disposition'])->distinct('disposition')->toArray();

但它返回

[
(int) 1 => null,
(int) 77 => '',
(int) 64 => 'NO ANSWER',
(int) 65 => 'ANSWERED',
(int) 72 => 'BUSY'
]

但我需要这样的东西:

[
(int) 1 => 'NO ANSWER',
(int) 2 => 'ANSWERED',
(int) 3 => 'BUSY'
]

最佳答案

I need to put this values into dropdown

除非枚举值会频繁更改(如果是,你为什么要使用枚举..)只需将你需要的数据数组放在某处:

$options = [
    'NO ANSWER' => 'NO ANSWER',
    'ANSWERED' => 'ANSWERED',
    'BUSY' => 'BUSY'
];

然后使用它:

echo $this->Form->select('field', $options);

请注意,$options 中的键是要提交的内容,值是要显示的内容。关于选择方法的更多信息在 the documentation 中。 .

关于mysql - Cakephp 查询数据库中的枚举字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38200034/

相关文章:

sql - 字符串的左连接

Java:添加 boolean 检查方法来检查 SQL 表中的数据以复制到文本文件

html - 将 MS Access 表单嵌入在线网站

python - Django - 何时最好计算大量数据的统计信息

php - 在 MySQL 中合并 2 个表并创建一个新表

php - 我可以计算每个 MySQL Select/Union 有多少结果吗

mysql - 如何使用索引优化 MySQL 查询

php - 每个用户的 mySQL 数据都是唯一的

CakePHP:如何使用 Form Helper 在按钮标题中使用 HTML 实体

php - CakePHP displayField 用法