Trait ModelAwareTrait
Provides functionality for loading table classes and other repositories onto properties of the host object.
Example users of this trait are Cake\Controller\Controller and Cake\Console\Shell.
Direct Known Users
Cake\Console\Shell, Cake\Controller\Controller, Cake\Mailer\Mailer, Cake\View\CellIndirect Known Users
Cake\Controller\ErrorController, Cake\Shell\CommandListShell, Cake\Shell\Task\ExtractTask, Cake\Shell\Task\LoadTask, Cake\Shell\Task\UnloadTask, Cake\Shell\CompletionShell, Cake\Shell\I18nShell, Cake\Shell\OrmCacheShell, Cake\Shell\PluginShell, Cake\Shell\RoutesShell, Cake\Shell\ServerShell, Cake\Shell\Task\AssetsTask, Cake\Shell\Task\CommandTaskMethod Detail
_setModelClasssource protected
_setModelClass( string $name )
Set the modelClass and modelKey properties based on conventions.
If the properties are already set they will not be overwritten
Parameters
- string
$name
- Class name.
loadModelsource public
loadModel( string|null $modelClass null , string|null $modelType null )
Loads and constructs repository objects required by this object
Typically used to load ORM Table objects as required. Can also be used to load other types of repository objects your application uses.
If a repository provider does not return an object a MissingModelException will be thrown.
Parameters
- string|null
$modelClass
optional null - Name of model class to load. Defaults to $this->modelClass
- string|null
$modelType
optional null - The type of repository to load. Defaults to the modelType() value.
Returns
object
The model instance created.
Throws
Cake\Datasource\Exception\MissingModelException
If the model class cannot be found.
InvalidArgumentException
When using a type that has not been registered.
UnexpectedValueException
If no model type has been defined
modelFactorysource public
modelFactory( string $type , callable $factory )
Register a callable to generate repositories of a given type.
Parameters
- string
$type
- The name of the repository type the factory function is for.
- callable
$factory
- The factory function used to create instances.
modelTypesource public
modelType( string|null $modelType null )
Set or get the model type to be used by this class
Parameters
- string|null
$modelType
optional null - The model type or null to retrieve the current
Returns
string|$this
$this
Properties summary
© 2005–2016 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
http://api.cakephp.org/3.1/class-Cake.Datasource.ModelAwareTrait.html