relation_completer progress

This commit is contained in:
Sascha Kühl
2025-07-01 17:13:52 +02:00
parent 5a7ab5d4d0
commit 38cbffc18b
11 changed files with 153 additions and 32 deletions
@@ -33,5 +33,30 @@ private:
object_ptr<ForeignType> remote_;
};
template < class LocalType, class Type >
class many_to_relation {
public:
many_to_relation() = default;
many_to_relation(std::string local_name, std::string remote_name)
: local_name_(std::move(local_name))
, type_name_(std::move(remote_name)) {}
template<class Operator>
void process(Operator &op) {
namespace field = matador::access;
field::belongs_to(op, local_name_.c_str(), local_, utils::default_foreign_attributes);
field::attribute(op, type_name_.c_str(), value_);
}
object_ptr<LocalType> local() const { return local_; }
Type value() const { return value_; }
private:
std::string local_name_;
std::string type_name_;
object_ptr<LocalType> local_;
Type value_;
};
}
#endif //QUERY_HAS_MANY_TO_MANY_RELATION_HPP