@@ 68-90 (lines=23) @@ | ||
65 | * @throws InvalidConfigException |
|
66 | * @return BaseModel |
|
67 | */ |
|
68 | public function create($config = [], string $toScenario = null): BaseModel |
|
69 | { |
|
70 | ||
71 | // Treat records as known data and set via config |
|
72 | if ($config instanceof Record) { |
|
73 | return $this->createFromRecord($config, $toScenario); |
|
74 | } |
|
75 | ||
76 | // Force Array |
|
77 | if (!is_array($config)) { |
|
78 | $config = ArrayHelper::toArray($config, [], false); |
|
79 | } |
|
80 | ||
81 | // Set the model class |
|
82 | $config['class'] = static::modelClass(); |
|
83 | ||
84 | return ModelHelper::create( |
|
85 | $config, |
|
86 | static::modelClassInstance(), |
|
87 | $toScenario |
|
88 | ); |
|
89 | ||
90 | } |
|
91 | ||
92 | /** |
|
93 | * @param Record $record |
@@ 66-89 (lines=24) @@ | ||
63 | * @throws InvalidConfigException |
|
64 | * @return BaseObject |
|
65 | */ |
|
66 | public function create($config = []): BaseObject |
|
67 | { |
|
68 | ||
69 | // Treat records as known data and set via config |
|
70 | if ($config instanceof Record) { |
|
71 | return $this->createFromRecord($config); |
|
72 | } |
|
73 | ||
74 | // Force Array |
|
75 | if (!is_array($config)) { |
|
76 | $config = ArrayHelper::toArray($config, [], false); |
|
77 | } |
|
78 | ||
79 | // Auto-set the class |
|
80 | if ($class = static::objectClass()) { |
|
81 | $config['class'] = $class; |
|
82 | } |
|
83 | ||
84 | return ObjectHelper::create( |
|
85 | $config, |
|
86 | static::objectClassInstance() |
|
87 | ); |
|
88 | ||
89 | } |
|
90 | ||
91 | /** |
|
92 | * @param Record $record |