php - 在cakephp中使用别名时如何指定查询选择的字段类型?

标签 php mysql cakephp

我正在使用 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/

相关文章:

php - 重用数据库连接对象

google-app-engine - _ah/URL 通过 app.yaml 传递到应用程序

php - 如何从 CakePHP 2.9 中的 ownTo 模型获取数据

javascript - 使用 Google Analytics 跟踪 Wordpress 后端生成的 PDF

php - MYSQL 5.5 到 MARIADB 10.0 = 非分组字段 'x' 用于 HAVING 子句

php - PHP 中的 SQL SELECT 语句

mysql - 限制选择查询的结果

php - 在列中搜索每个空格分隔值中的字符串

php - 1 PDOException::("SQLSTATE[HY000] [2002] 由于目标机器主动拒绝,无法建立连接

php - CakePhp 3 - 保存关联模型失败并以 mysql 错误结束