DistCommonTrait.php 933 B

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. namespace App\Traits;
  3. use ArrayAccess;
  4. use Illuminate\Database\Eloquent\Builder;
  5. use Illuminate\Database\Eloquent\SoftDeletingScope;
  6. use Illuminate\Support\Facades\Event;
  7. use InvalidArgumentException;
  8. use Spatie\EloquentSortable\EloquentModelSortedEvent;
  9. use Spatie\EloquentSortable\Sortable;
  10. /*
  11. * 列表排序is_pinned desc,order desc时用这个trait
  12. */
  13. trait DistCommonTrait
  14. {
  15. /*
  16. * 生成slug
  17. */
  18. public static function generateSlug($title) {
  19. $self = new self();
  20. $model = $self->model();
  21. $slug = generateSlug($title);
  22. for ($i=0;$i<5;$i++) {
  23. $count = $model->where('slug', $title)->where('dist_id', getDistributorId())->count();
  24. if ($count == 0) {
  25. return $slug;
  26. } else {
  27. $slug = $slug . '-' . generateRandomString();
  28. }
  29. }
  30. return $slug . '-' . generateRandomString(5);
  31. }
  32. }