我正在使用 Cakephp 3.2.7 作为框架并创建一个带有选择别名的查询。
$posts = $this->Posts->find()
->select(['id' => 'Posts.id','userid'=>"Posts.user_id"])->toArray();
我想获取 id 作为字符串而不是整数(mysql 中的列类型是整数)并获取 userid 作为整数(mysql 中的列类型也是整数)但是使用别名将其转换为字符串。
有没有办法将所有模型中的所有 Id 列作为字符串获取,或者至少可以在查询中定义数据类型?
最佳答案
其实我同意@drmonkeyninja,我不知道你为什么要这样做。
此外,我不保证我将要写的内容是安全的,并且是实现您正在尝试做的事情的干净方式。
无论如何,您都可以修改表架构并更改列类型。查看manual
$this->Posts->schema()->addColumn('userid', [
'type' => 'integer',
])
->addColumn('id', [
'type' => 'string',
]);
关于php - 在cakephp中使用别名时如何指定查询选择的字段类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39740178/