]> BookStack Code Mirror - bookstack/blobdiff - app/Sorting/SortSet.php
Sorting: Added tests to cover AssignSortSetCommand
[bookstack] / app / Sorting / SortSet.php
index a73407bfa08e58e8c695701a34b98e12be034849..cc8879f965782f58742c7131938dfaa45b4c476c 100644 (file)
@@ -5,6 +5,8 @@ namespace BookStack\Sorting;
 use BookStack\Activity\Models\Loggable;
 use BookStack\Entities\Models\Book;
 use Carbon\Carbon;
+use Illuminate\Database\Eloquent\Collection;
+use Illuminate\Database\Eloquent\Factories\HasFactory;
 use Illuminate\Database\Eloquent\Model;
 use Illuminate\Database\Eloquent\Relations\HasMany;
 
@@ -17,6 +19,8 @@ use Illuminate\Database\Eloquent\Relations\HasMany;
  */
 class SortSet extends Model implements Loggable
 {
+    use HasFactory;
+
     /**
      * @return SortSetOperation[]
      */
@@ -48,4 +52,12 @@ class SortSet extends Model implements Loggable
     {
         return $this->hasMany(Book::class);
     }
+
+    public static function allByName(): Collection
+    {
+        return static::query()
+            ->withCount('books')
+            ->orderBy('name', 'asc')
+            ->get();
+    }
 }