PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.2.0
Independent Analytics – WordPress Analytics Plugin v2.2.0
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 2 years ago Concerns 2 years ago Factories 2 years ago Relations 2 years ago BroadcastableModelEventOccurred.php 2 years ago BroadcastsEvents.php 2 years ago Builder.php 2 years ago Collection.php 2 years ago HigherOrderBuilderProxy.php 2 years ago InvalidCastException.php 2 years ago JsonEncodingException.php 2 years ago MassAssignmentException.php 2 years ago MassPrunable.php 2 years ago Model.php 2 years ago ModelNotFoundException.php 2 years ago Prunable.php 2 years ago QueueEntityResolver.php 2 years ago RelationNotFoundException.php 2 years ago Scope.php 2 years ago SoftDeletes.php 2 years ago SoftDeletingScope.php 2 years ago
MassPrunable.php
42 lines
1 <?php
2
3 namespace IAWP_SCOPED\Illuminate\Database\Eloquent;
4
5 use IAWP_SCOPED\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 = 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