11
11
class DynamicModelFactory
12
12
{
13
13
private string $ dynamicTableName ;
14
+
14
15
private string $ dynamicConnectionName ;
15
16
16
17
/**
17
- * @param string $fqnClass
18
- * @param string $dynamicTableName
19
- * @param string|null $dynamicConnectionName
20
- * @return Model&DynamicModelInterface
21
18
* @throws ReflectionException
22
19
*/
23
20
public function create (string $ fqnClass , string $ dynamicTableName , string $ dynamicConnectionName = null ): Model &DynamicModelInterface
@@ -31,29 +28,25 @@ public function create(string $fqnClass, string $dynamicTableName, string $dynam
31
28
return app ($ dynamicFQNClass );
32
29
}
33
30
34
- if (!class_exists ($ dynamicFQNClass )) {
31
+ if (! class_exists ($ dynamicFQNClass )) {
35
32
$ this ->createDynamicClass ($ fqnClass );
36
33
}
37
34
38
- app ()->bind ($ dynamicFQNClass , function () use ($ dynamicFQNClass ) {
35
+ app ()->bind ($ dynamicFQNClass , function () use ($ dynamicFQNClass ) {
39
36
return new $ dynamicFQNClass ();
40
37
});
41
38
42
39
return app ($ dynamicFQNClass );
43
40
}
44
41
45
- /**
46
- * @param string $class
47
- * @return string
48
- */
49
42
private function getDynamicClass (string $ class ): string
50
43
{
51
44
return "{$ class }_ {$ this ->dynamicConnectionName }_ {$ this ->dynamicTableName }" ;
52
45
}
53
46
54
47
private function getDynamicTableValues (): array
55
48
{
56
- if (!isset (config ('database.connections ' )[$ this ->dynamicConnectionName ])) {
49
+ if (! isset (config ('database.connections ' )[$ this ->dynamicConnectionName ])) {
57
50
throw DynamicModelException::connectionDoesNotExist ($ this ->dynamicConnectionName );
58
51
}
59
52
@@ -87,7 +80,7 @@ private function getDynamicTableValues(): array
87
80
return [
88
81
'primaryKey ' => $ primaryColumn ->getName (),
89
82
'keyType ' => Str::of ($ primaryColumn ->getType ()->getName ())->contains ('int ' ) ? 'int ' : 'string ' ,
90
- 'incrementing ' => $ primaryColumn ->getAutoincrement () ? 'true ' : 'false ' ,
83
+ 'incrementing ' => $ primaryColumn ->getAutoincrement () ? 'true ' : 'false ' ,
91
84
];
92
85
}
93
86
0 commit comments