SilverStripe сохраняет данные во внешней таблице

В SilverStripe, как я могу сохранить данные во внешней таблице базы данных, которая не была создана SilverStripe?

Например: я создал таблицу News и хочу, если я добавлю новый элемент новостей, – те же данные хранятся в моей предыдущей таблице новостей.

Related of "SilverStripe сохраняет данные во внешней таблице"

Если таблицы одинаковы, вы можете просто переключить конфигурацию базы данных, а затем использовать ORM, а затем переключиться обратно …

 $otherDB = array( "type" => 'MySQLDatabase', "server" => 'localhost', "username" => 'new_user', "password" => 'xxxx', "path" => '', "database" => 'new_database' ); DB::connect($otherDB); //Use ORM to write //revert to normal credentials global $databaseConfig; DB::connect($databaseConfig); 

Я бы создал успокоительный API, чтобы держать вещи в отдельности, поэтому вам не нужно сохранять внешние учетные данные db на своем сайте SilverStripe.

Вы можете использовать https://github.com/guzzle/guzzle для отправки новостей на внешний сайт (где живет внешний db) с вашего сайта SilverStripe (onAfterWrite), например. На внешнем сайте вам нужно будет создать простой сервер API, который будет прослушивать Post-запросы и если он сохраняет их в db. Что для инъекций sql!

Надеюсь, поможет.