2014-11-27 5 views
1

Я использовал R::freeze(true); в своем приложении php. Но я не знаю, почему redbean изменяет структуру моей базы данных. Я заметил, что столбец типа interger автоматически становится текстовым.Redbean php R :: freeze (true) не работает

Также я обновил переменную protected $isFrozen = TRUE; в rb.php. Но никакого эффекта.

ответ

3

Не зная свою структуру или структуру PHP (если есть), невозможно предоставить какой-либо ответ в связи с этим. В любом случае R :: freeze (true) является правильным синтаксисом. Убедитесь, что вы добавили инструкцию в начале вашего приложения.

У меня есть много приложений, использующих SlimPHP ReadBean, и я поставил его на самом верху моего index.php сразу после запуска R::setup();

<?php 

require 'vendor/autoload.php'; 
R::setup(); 
R::freeze(true); 
1

Благодаря @Jeremy Шаффер,

R::freeze(true); 

выше код верен. Но мое приложение использует несколько соединений с базой данных. , а затем я понимаю, что для каждого соединения нам нужно использовать вышеприведенную строку кода для замораживания структуры db.

Проблема решена.

+0

Как добавить несколько соединений базы данных/сервера mysql –

+0

Предположим, что если вы уже подключились к одной базе данных, используйте R :: addDatabase ('DB2', Остальные_параметры); Первое имя param db уникально для каждого соединения. Затем используйте R :: selectDatabase ('DB2'); для выбора новой подключенной базы данных. После подключения базы данных используйте R :: selectDatabase ('DB2'); для выбора требуемой БД. –

Смежные вопросы