| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- <?php
- namespace Illuminate\Database\Eloquent\Concerns;
- trait HasUniqueIds
- {
- /**
- * Indicates if the model uses unique ids.
- *
- * @var bool
- */
- public $usesUniqueIds = false;
- /**
- * Determine if the model uses unique ids.
- *
- * @return bool
- */
- public function usesUniqueIds()
- {
- return $this->usesUniqueIds;
- }
- /**
- * Generate unique keys for the model.
- *
- * @return void
- */
- public function setUniqueIds()
- {
- foreach ($this->uniqueIds() as $column) {
- if (empty($this->{$column})) {
- $this->{$column} = $this->newUniqueId();
- }
- }
- }
- /**
- * Generate a new key for the model.
- *
- * @return string
- */
- public function newUniqueId()
- {
- return null;
- }
- /**
- * Get the columns that should receive a unique identifier.
- *
- * @return array
- */
- public function uniqueIds()
- {
- return [];
- }
- }
|