我有一个API,可以从表中获取数据,序列化数据,然后通过服务发回。代码是使用CakePHP使用CakePHP编写的。
当我传入表名(例如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;
}
(这是截断的)
奇怪的是,所有表中都不会出现此错误。
我显然没有正确地做某事,但我不确定是什么
答案 0 :(得分:0)
您为表格对象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'
传递给您的操作