- Code: Select all
in Element.h:
typedef boost::shared_ptr<Parameter> parameter_ptr;
typedef QList<parameter_ptr> list_parameter;
// -- properties
long m_id;
QString m_symbol;
QString m_def;
double m_height;
double m_width;
list_parameter m_params;
- Code: Select all
in Element.cpp:
namespace qx {
template <> void register_class(QxClass<Element> & t)
{
t.id(& Element::m_id, Element::str_key1());
t.data(& Element::m_symbol, Element::str_key2());
t.data(& Element::m_def, Element::str_key3());
t.data(& Element::m_height, Element::str_key4());
t.data(& Element::m_width, Element::str_key5());
t.relationManyToMany(& Element::m_params, "list_parameter", "parameter_element", Element::str_key1(), Parameter::str_key1());
}
}
- Code: Select all
in Parameter.h
typedef boost::shared_ptr<Element> element_ptr;
typedef std::vector<element_ptr> list_element;
// -- properties
long m_id;
QString m_symbol;
QString m_def;
QString m_unit;
double m_value;
list_element m_elements;
- Code: Select all
in Parameter.cpp:
namespace qx {
template <> void register_class(QxClass<Parameter> & t)
{
t.id(& Parameter::m_id, Parameter::str_key1());
t.data(& Parameter::m_symbol, Parameter::str_key2());
t.data(& Parameter::m_def, Parameter::str_key3());
t.data(& Parameter::m_unit, Parameter::str_key4());
t.data(& Parameter::m_value, Parameter::str_key5());
t.relationManyToMany(& Parameter::m_elements, "list_element", "parameter_element", Parameter::str_key1(), Element::str_key1());
}
}
And in main.cpp, I create table Parameter and Element, but "parameter_element" is not created. Why?
- Code: Select all
QSqlError daoError = qx::dao::create_table<Parameter>();
daoError = qx::dao::create_table<Element>();
Thanks!