PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.15.5
Independent Analytics – WordPress Analytics Plugin v2.15.5
2.15.5 2.15.4 2.15.3 2.15.2 2.15.1 2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / vendor / illuminate / database / Eloquent / MassPrunable.php
independent-analytics / vendor / illuminate / database / Eloquent Last commit date
Casts 1 month ago Concerns 1 month ago Factories 1 month ago Relations 1 month ago BroadcastableModelEventOccurred.php 1 month ago BroadcastsEvents.php 6 months ago Builder.php 1 month ago Collection.php 1 month ago HigherOrderBuilderProxy.php 2 years ago InvalidCastException.php 2 years ago JsonEncodingException.php 2 years ago MassAssignmentException.php 2 years ago MassPrunable.php 6 months ago MissingAttributeException.php 1 month ago Model.php 1 month ago ModelNotFoundException.php 1 month ago PendingHasThroughRelationship.php 1 month ago Prunable.php 2 years ago QueueEntityResolver.php 2 years ago RelationNotFoundException.php 2 years ago Scope.php 2 years ago SoftDeletes.php 1 month ago SoftDeletingScope.php 1 month ago
MassPrunable.php
42 lines
1 <?php
2
3 namespace IAWPSCOPED\Illuminate\Database\Eloquent;
4
5 use IAWPSCOPED\Illuminate\Database\Events\ModelsPruned;
6 use LogicException;
7 /** @internal */
8 trait MassPrunable
9 {
10 /**
11 * Prune all prunable models in the database.
12 *
13 * @param int $chunkSize
14 * @return int
15 */
16 public function pruneAll(int $chunkSize = 1000)
17 {
18 $query = \IAWPSCOPED\tap($this->prunable(), function ($query) use($chunkSize) {
19 $query->when(!$query->getQuery()->limit, function ($query) use($chunkSize) {
20 $query->limit($chunkSize);
21 });
22 });
23 $total = 0;
24 do {
25 $total += $count = \in_array(SoftDeletes::class, class_uses_recursive(\get_class($this))) ? $query->forceDelete() : $query->delete();
26 if ($count > 0) {
27 event(new ModelsPruned(static::class, $total));
28 }
29 } while ($count > 0);
30 return $total;
31 }
32 /**
33 * Get the prunable model query.
34 *
35 * @return \Illuminate\Database\Eloquent\Builder
36 */
37 public function prunable()
38 {
39 throw new LogicException('Please implement the prunable method on your model.');
40 }
41 }
42