These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
1 | <?php |
||
2 | |||
3 | namespace Spatie\QueryBuilder\Exceptions; |
||
4 | |||
5 | use Illuminate\Http\Response; |
||
6 | use Illuminate\Support\Collection; |
||
7 | |||
8 | class InvalidIncludeQuery extends InvalidQuery |
||
9 | { |
||
10 | /** @var \Illuminate\Support\Collection */ |
||
11 | public $unknownIncludes; |
||
12 | |||
13 | /** @var \Illuminate\Support\Collection */ |
||
14 | public $allowedIncludes; |
||
15 | |||
16 | public function __construct(Collection $unknownIncludes, Collection $allowedIncludes) |
||
17 | { |
||
18 | $this->unknownIncludes = $unknownIncludes; |
||
19 | $this->allowedIncludes = $allowedIncludes; |
||
20 | |||
21 | $unknownIncludes = $unknownIncludes->implode(', '); |
||
22 | |||
23 | $message = "Requested include(s) `{$unknownIncludes}` are not allowed. "; |
||
24 | |||
25 | if ($allowedIncludes->count()) { |
||
26 | $allowedIncludes = $allowedIncludes->implode(', '); |
||
27 | $message .= "Allowed include(s) are `{$allowedIncludes}`."; |
||
28 | } else { |
||
29 | $message .= 'There are no allowed includes.'; |
||
30 | } |
||
31 | |||
32 | parent::__construct(Response::HTTP_BAD_REQUEST, $message); |
||
33 | } |
||
34 | |||
35 | public static function includesNotAllowed(Collection $unknownIncludes, Collection $allowedIncludes) |
||
0 ignored issues
–
show
|
|||
36 | { |
||
37 | return new static(...func_get_args()); |
||
0 ignored issues
–
show
func_get_args() is of type array , but the function expects a object<Illuminate\Support\Collection> .
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
Loading history...
|
|||
38 | } |
||
39 | } |
||
40 |
This check looks from parameters that have been defined for a function or method, but which are not used in the method body.