ModelIdentifier.php
TLDR
This file defines the ModelIdentifier
class in the Illuminate\Contracts\Database
namespace. This class represents a model identifier and its associated properties such as the class name, unique identifier, loaded relationships, connection name, and collection class.
Classes
ModelIdentifier
The ModelIdentifier
class represents a model identifier. It has the following properties:
-
class
(string): The class name of the model. -
id
(mixed): The unique identifier of the model. This can be either a single ID or an array of IDs. -
relations
(array): The relationships loaded on the model. -
connection
(string|null): The connection name of the model. -
collectionClass
(string|null): The class name of the model collection.
It also provides the following methods:
-
__construct(string $class, mixed $id, array $relations, mixed $connection)
: Initializes a new instance ofModelIdentifier
with the given parameters. -
useCollectionClass(?string $collectionClass) -> ModelIdentifier
: Specifies the collection class that should be used when serializing or restoring collections.
<?php
namespace Illuminate\Contracts\Database;
class ModelIdentifier
{
/**
* The class name of the model.
*
* @var string
*/
public $class;
/**
* The unique identifier of the model.
*
* This may be either a single ID or an array of IDs.
*
* @var mixed
*/
public $id;
/**
* The relationships loaded on the model.
*
* @var array
*/
public $relations;
/**
* The connection name of the model.
*
* @var string|null
*/
public $connection;
/**
* The class name of the model collection.
*
* @var string|null
*/
public $collectionClass;
/**
* Create a new model identifier.
*
* @param string $class
* @param mixed $id
* @param array $relations
* @param mixed $connection
* @return void
*/
public function __construct($class, $id, array $relations, $connection)
{
$this->id = $id;
$this->class = $class;
$this->relations = $relations;
$this->connection = $connection;
}
/**
* Specify the collection class that should be used when serializing / restoring collections.
*
* @param string|null $collectionClass
* @return $this
*/
public function useCollectionClass(?string $collectionClass)
{
$this->collectionClass = $collectionClass;
return $this;
}
}