Вы столкнулись с несоответствием объектно-реляционного импеданса из-за отображения между не полностью совместимыми системами. Поскольку наследование между таблицами в реляционной модели невозможно, вам придется пожертвовать чем-то в объектной модели, которая использует наследование. Будут крайние случаи независимо от того, что вы делаете, если вы не переключитесь на объектную базу данных .
Если вы определяете пользовательские операции CRUD в классах, которые расширяют Metric
, загрузка энтитов может быть сложной. Что именно будет загружено Metric.get(id)
, если каждая таблица имеет свою собственную последовательность PK, и оба Rating
и Quantity
могут иметь одинаковое числовое значение PK.
Вы можете посмотреть, как JPA решает эту проблему. Он использует пользовательские аннотации, например @MappedSuperclass
и @Entity
. Я предполагаю, что это форма проверки типов.
Я теперь создал ряд классов PHP, который упрощает связь с Онлайн-версией QuickBooks. Это делает общение с Онлайн-версией QuickBooks столь же легким как:
// Create the connection to QuickBooks
$API = new QuickBooks_API(...);
// Build the Customer object
$Customer = new QuickBooks_Object_Customer();
$Customer->setName($name);
$Customer->setShipAddress('134 Stonemill Road', '', '', '', '', 'Storrs', 'CT', '', '06268');
// Send the request to QuickBooks
$API->addCustomer($Customer, '_add_customer_callback', 15);
// The framework also supports processing raw qbXML requests
$API->qbxml('
<CustomerQueryRq>
<FullName>Keith Palmer Jr.</FullName>
</CustomerQueryRq>', '_raw_qbxml_callback');
Можно загрузить платформу с моего потока здесь: Онлайн-версия QuickBooks Пакет PHP
Я начал писать некоторую документацию/подсказки относительно того, как интегрировать веб-приложения с Онлайн-версией QuickBooks здесь: Интеграция QuickBooks Wiki
Да, можно отправить qbXML запросы к Онлайн-версии QuickBooks, как можно отправить qbXML запросы к регулярным настольным выпускам QuickBooks.
Загрузите QuickBooks SDK для получения дополнительной информации.
Похоже, что Quickbooks OE имеет основанный на XML SDK, доступный в:
http://developer.intuit.com/technical_resources/default.aspx?id=1492