版本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');
这就够了,我可以使用另一个模型和控制器名称,而不是我的表名。
有人知道会发生什么事吗?
答案 0 :(得分:0)
我解决了这个问题!
它在命名空间上。我有:
namespace App\Model\Notification;
而不是:
namespace App\Model\Table;
很好的编码!