我正在尝试将以下表单的数据插入到不是“默认”的数据库表中。但是,我不知道怎么做,我仍然在适应cakephp。我想表单是正确的,数据库中特定表的名称就是输入中的表名。但我不是说他应该把哪张桌子插进去?没必要吗?或者如果需要,我缺少什么来指定我想要的表?

    <?php   echo $this->Form->create('Ficha', array('action' => 'index')); ?>
//echo $this->Form->input('id_fichas', array('label' => 'Id Ficha:'));
echo $this->Form->input('class_subst', array('label' => 'Class mistura:'));
echo $this->Form->input('simbolos_perigo', array('label' => 'Símbolos:'));
echo $this->Form->input('frases_r', array('label' => 'Frases:'));
echo $this->Form->end('Finalizar Ficha'); ?>

最佳答案

按惯例,表对象将使用与类名的小写和带下划线版本匹配的表。在您的情况下,“ficha”将映射到“fichas”表。如果需要不同的表,则需要根据cakephp版本定义它:
Cakephp 3.x版
可以使用setTable()方法指定表:

class Example extends Table {

    public function initialize(array $config) {
        $this->setTable('my_table');

        // Prior to 3.4.0 use 'table' method
        // $this->table('my_table');
    }
}

链接到3.x docs
Cakephp 2.x版本
模型中的属性$usetable将发挥神奇的作用:
<?php
App::uses('AppModel', 'Model');

class Example extends AppModel {
   public $useTable = 'exmp'; // This model uses a database table 'exmp'
}

链接到2.x docs

关于php - 在不同表上插入cakephp,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13682658/

10-15 00:51