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.
$_modelFactories
protected array
$_modelType
protected string
$modelClass
public string|false|null
This object's primary model class name. Should be a plural form. CakePHP will not inflect the name.
_setModelClass( string $name )
Set the modelClass and modelKey properties based on conventions.
If the properties are already set they will not be overwritten
$name
getModelType( )
Get the model type to be used by this class
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.
$modelClass
optional null Name of model class to load. Defaults to $this->modelClass. The name can be an alias like 'Post'
or FQCN like App\Model\Table\PostsTable::class
.
$modelType
optional null Cake\Datasource\RepositoryInterface
Cake\Datasource\Exception\MissingModelException
modelFactory( string $type , callable $factory )
Override a existing callable to generate repositories of a given type.
$type
$factory
modelType( string|null $modelType = null )
Set or get the model type to be used by this class
$modelType
optional null Cake\Datasource\ModelAwareTrait
setModelType( string $modelType )
Set the model type to be used by this class
$modelType
public string|false|null
This object's primary model class name. Should be a plural form. CakePHP will not inflect the name.
Example: For an object named 'Comments', the modelClass would be 'Comments'. Plugin classes should use Plugin.Comments
style names to correctly load models from the correct plugin.
Use false to not use auto-loading on this object. Null auto-detects based on controller name.
© 2005–present 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.
https://api.cakephp.org/3.8/class-Cake.Datasource.ModelAwareTrait.html