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 / Prunable.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
Prunable.php
57 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 Prunable
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 $total = 0;
19 $this->prunable()->when(\in_array(SoftDeletes::class, class_uses_recursive(\get_class($this))), function ($query) {
20 $query->withTrashed();
21 })->chunkById($chunkSize, function ($models) use(&$total) {
22 $models->each->prune();
23 $total += $models->count();
24 event(new ModelsPruned(static::class, $total));
25 });
26 return $total;
27 }
28 /**
29 * Get the prunable model query.
30 *
31 * @return \Illuminate\Database\Eloquent\Builder
32 */
33 public function prunable()
34 {
35 throw new LogicException('Please implement the prunable method on your model.');
36 }
37 /**
38 * Prune the model in the database.
39 *
40 * @return bool|null
41 */
42 public function prune()
43 {
44 $this->pruning();
45 return \in_array(SoftDeletes::class, class_uses_recursive(\get_class($this))) ? $this->forceDelete() : $this->delete();
46 }
47 /**
48 * Prepare the model for pruning.
49 *
50 * @return void
51 */
52 protected function pruning()
53 {
54 //
55 }
56 }
57