gpt4 book ai didi

mysql - 添加了额外下划线的表名称

转载 作者:行者123 更新时间:2023-11-29 20:30:57 25 4
gpt4 key购买 nike

我有一个 API,可以从表中获取数据,序列化数据,然后通过服务发回。该代码是使用 CakePHP 和 MySQL 编写的。

当我传入表名(例如RX_Scaled)时,返回错误,找不到表r_x_scaled(这并不奇怪,数据库中的表名是rx_scaled)。

我的 rx_scaled 模型/表是这样定义的

class rx_scaleds extends Table
{
public function initialize(array $config)
{
parent::initialize($config);
$this->table('rx_scaled');
}

使用模型/实体

 class rx_scaled extends Entity
{
}

我的服务 API 在 APIController.php 文件中是这样设置的

public function getData($tablename, $id="", $filter = "-", $order = "-", $take = 0)
{
$the_table = $tablename;

$this->autoRender = false;

$table = TableRegistry::get($tablename);

$data = null;

switch (strtolower($the_table))
{
case "rx_scaled":
$data = $table->find();
echo $data;
break;
}

(此内容已被截断)

奇怪的是,这个错误并没有出现在所有表中。

我显然没有做正确的事情,但我不确定是什么

最佳答案

您将表对象命名为 rx_scaleds,但随后将 RX_Scaled 传递给 getData 操作

cake 尝试找不到名为 RX_Scaled 的表对象,尝试改变 mysql 表的名称:因此使用 cake 的约定 RX_Scaled 映射到 r_x_scaled

那么你能做什么呢?

使用蛋糕约定

为表命名RxScaledsTable

class RxScaledsTable extends Table

为您的实体命名RxScaled

class RxScaled extends Entity

并将字符串'RxScaled'传递给您的操作

关于mysql - 添加了额外下划线的表名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39069634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com