Отсутствует ["имя_соединения"] в новом TableObject [CakePHP 3.x] - PullRequest
0 голосов
/ 11 марта 2019

Я создал новую Таблицу на миграцию для моего проекта, чтобы включить AutoLogin на Cookie. Моя проблема в том, что у TableObject отсутствует свойство ["connectionName"] при инициализации.

Я попытался найти способ исправить это, но единственный найденный способ - установить соединение с ConnectionManager. Пока это будет работать, но мне бы очень хотелось узнать, где я допустил ошибку и почему самостоятельно для connectionName не установлено значение «default».

Мой файл миграции выглядит так:

public function change()
{
  $table = $this->table('autologins', ['id' => false, 'primary_key' => 'id']);

  $table->addColumn('id', 'uuid', [
    'limit' => 36,
    'null' => false,
  ]);
  $table->addColumn('token', 'string',[
    'null' => false,
    'limit' => 32,
  ]);
  $table->addColumn('user_agent', 'string',[
    'null' => false,
    'limit' => MysqlAdapter::TEXT_TINY,
  ]);
  $table->addColumn('user_id', 'uuid',[
    'limit' => 36,
    'null' => false,
  ]);
  $table->addColumn('expiry_date', 'datetime',[
    'null' => false,
  ]);

  $table->create();
}

Без настройки соединения

$this->setConnection(ConnectionManager::get('default'));

Я получаю следующее var_dump:

object(App\Model\Table\AutologinsTable)#486 (8) { 
["registryAlias"]=> string(10) "Autologins" 
["table"]=> string(10) "autologins" 
["alias"]=> string(10) "Autologins" 
["entityClass"]=> string(26) "App\Model\Entity\Autologin" 
["associations"]=> array(0) { } 
["behaviors"]=> array(0) { } 
["defaultConnection"]=> string(7) "default" 
["connectionName"]=> NULL }
...