QEloquent 1.1.0
Qt most flexible ORM.
Loading...
Searching...
No Matches
namingconvention_p.h
1#ifndef QELOQUENT_NAMINGCONVENTION_P_H
2#define QELOQUENT_NAMINGCONVENTION_P_H
3
4#include "namingconvention.h"
5
6#include <QEloquent/dictionary.h>
7
8namespace QEloquent {
9
10class LaravelNamingConvention final : public NamingConvention
11{
12public:
13 QString tableName(const QString &className) const override
14 { return snakeFromPascal(Dictionary::plural(className)); }
15
16 QString fieldName(const QString &propertyName, const QString &) const override
17 { return snakeFromCamel(propertyName); }
18
19 QString primaryFieldName(const QString &) const override
20 { return QStringLiteral("id"); }
21
22 QString foreignFieldName(const QString &primaryFieldName, const QString &tableName) const override
23 { return tableName + '_' + primaryFieldName; }
24
25 QString pivotTableName(const QString &table1, const QString &table2) const override
26 { return table1 + '_' + table2; }
27
28 QString propertyName(const QString &fieldName, const QString &) const override
29 { return camelFromSnake(fieldName); }
30};
31
32class OneOneNamingConvention final : public NamingConvention
33{
34public:
35 QString tableName(const QString &className) const override
36 { return Dictionary::plural(className); }
37
38 QString fieldName(const QString &propertyName, const QString &) const override
39 { return propertyName; }
40
41 QString primaryFieldName(const QString &) const override
42 { return QStringLiteral("id"); }
43
44 QString foreignFieldName(const QString &primaryFieldName, const QString &tableName) const override
45 { return tableName + '_' + primaryFieldName; }
46
47 QString pivotTableName(const QString &table1, const QString &table2) const override
48 { return table1 + '_' + table2; }
49
50 QString propertyName(const QString &fieldName, const QString &) const override
51 { return fieldName; }
52};
53
54} // QEloquent namespace
55
56#endif // QELOQUENT_NAMINGCONVENTION_P_H