ModeloBase.php 459 B

1234567891011121314151617181920212223242526
  1. <?php
  2. namespace app\models;
  3. use Ramsey\Uuid\Uuid;
  4. class ModeloBase extends \yii\db\ActiveRecord {
  5. public function uuid() {
  6. $pk = static::primaryKey();
  7. if (is_array($pk) && count($pk) > 1) {
  8. return null;
  9. }
  10. $pk = $pk[0];
  11. do {
  12. $uuid = (Uuid::uuid4())
  13. ->toString();
  14. $modelo = static::find()
  15. ->andWhere([$pk => $uuid]);
  16. } while ($modelo->exists());
  17. $this->{$pk} = $uuid;
  18. return $uuid;
  19. }
  20. }