@@ -9,13 +9,70 @@ use Closure;
9
9
*/
10
10
trait QueriesRelationships
11
11
{
12
+ /**
13
+ * @template TBuilder of \Illuminate\Database\Eloquent\Builder<\Illuminate\Database\Eloquent\Model>
14
+ * @param \Illuminate\Database\Eloquent\Relations\Relation|string $relation
15
+ * @param string $operator
16
+ * @param int $count
17
+ * @param string $boolean
18
+ * @param \Closure(TBuilder): (void|TBuilder)|null $callback
19
+ * @return static
20
+ * @throws \RuntimeException
21
+ */
22
+ public function has($relation, $operator = '>=', $count = 1, $boolean = 'and', ?Closure $callback = null);
23
+
24
+ /**
25
+ * @template TBuilder of \Illuminate\Database\Eloquent\Builder<\Illuminate\Database\Eloquent\Model>
26
+ * @param string $relation
27
+ * @param string $boolean
28
+ * @param \Closure(TBuilder): (void|TBuilder)|null $callback
29
+ * @return static
30
+ */
31
+ public function doesntHave($relation, $boolean = 'and', ?Closure $callback = null);
32
+
12
33
/**
13
34
* @template TBuilder of \Illuminate\Database\Eloquent\Builder<\Illuminate\Database\Eloquent\Model>
14
35
* @param string $relation
15
36
* @param \Closure(TBuilder): (void|TBuilder)|null $callback
16
37
* @param string $operator
17
38
* @param int $count
18
- * @return \Illuminate\Database\Eloquent\Builder<TModel>
39
+ * @return static
19
40
*/
20
41
public function whereHas($relation, ?Closure $callback = null, $operator = '>=', $count = 1);
42
+
43
+ /**
44
+ * @template TBuilder of \Illuminate\Database\Eloquent\Builder<\Illuminate\Database\Eloquent\Model>
45
+ * @param string $relation
46
+ * @param \Closure(TBuilder): (void|TBuilder)|null $callback
47
+ * @param string $operator
48
+ * @param int $count
49
+ * @return static
50
+ */
51
+ public function withWhereHas($relation, ?Closure $callback = null, $operator = '>=', $count = 1);
52
+
53
+ /**
54
+ * @template TBuilder of \Illuminate\Database\Eloquent\Builder<\Illuminate\Database\Eloquent\Model>
55
+ * @param string $relation
56
+ * @param \Closure(TBuilder): (void|TBuilder)|null $callback
57
+ * @param string $operator
58
+ * @param int $count
59
+ * @return static
60
+ */
61
+ public function orWhereHas($relation, ?Closure $callback = null, $operator = '>=', $count = 1);
62
+
63
+ /**
64
+ * @template TBuilder of \Illuminate\Database\Eloquent\Builder<\Illuminate\Database\Eloquent\Model>
65
+ * @param string $relation
66
+ * @param \Closure(TBuilder): (void|TBuilder)|null $callback
67
+ * @return static
68
+ */
69
+ public function whereDoesntHave($relation, ?Closure $callback = null);
70
+
71
+ /**
72
+ * @template TBuilder of \Illuminate\Database\Eloquent\Builder<\Illuminate\Database\Eloquent\Model>
73
+ * @param string $relation
74
+ * @param \Closure(TBuilder): (void|TBuilder)|null $callback
75
+ * @return static
76
+ */
77
+ public function orWhereDoesntHave($relation, ?Closure $callback = null);
21
78
}
0 commit comments