1146 CakeWat 3中的自定义表名不存在表

时间:2017-11-04 13:35:56

标签: cakephp-3.0

版本CakePHP v3.4.7

  

QLSTATE [42S02]:未找到基表或视图:1146表   ' DB.notifications'不存在

我有西班牙语的表名,我想用英语使用我的模型和控制器。

进入我的NotificationsTable类我已经设置了以下行:

$this->table('notificaciones');

所以我认为这就足够了,其他一切我都可以用另一个名字。

这是我的NotificationsTable

class NotificationsTable extends Table
{

    public function initialize(array $config)
    {
        parent::initialize($config);

        $this->table('notificaciones');
        $this->primaryKey('notificaciones_id');

    }

    public function validationDefault(Validator $validator)
    {
        $validator
            ->add('notificaciones_id', 'valid', ['rule' => 'numeric'])
            ->allowEmpty('notificaciones_id', 'create');


        return $validator;
    }

    public function buildRules(RulesChecker $rules)
    {
        $rules->add($rules->existsIn(['cola_id'], 'Colas'));

        return $rules;
    }
}

这是我的控制器:

class NotificationsController extends AppController
{

    public function index()
    {

        $this->paginate['contain'] = ['Colas'];
        $notifications = $this->paginate($this->Notifications);

        $this->set(compact('notifications'));
        $this->set('_serialize', ['notifications']);
    }
}

我认为只需设置

$this->table('notificaciones'); 

这就够了,我可以使用另一个模型和控制器名称,而不是我的表名。

有人知道会发生什么事吗?

1 个答案:

答案 0 :(得分:0)

我解决了这个问题!

它在命名空间上。我有:

namespace App\Model\Notification;

而不是:

namespace App\Model\Table;

很好的编码!