@@ -26,6 +26,7 @@ class SearchParser implements SearchParserInterface
26
26
27
27
private string $ argument ;
28
28
private ModelConfig $ modelConfig ;
29
+ private bool $ from_primary_key ;
29
30
30
31
/**
31
32
* Search constructor.
@@ -40,8 +41,8 @@ class SearchParser implements SearchParserInterface
40
41
public function __construct (ModelConfig $ modelConfig , OperatorsConfig $ operatorsConfig , string $ column , string $ argument )
41
42
{
42
43
$ this ->modelConfig = $ modelConfig ;
43
- $ this ->column = $ modelConfig ->isPrimaryKey ($ column ) ?
44
- $ modelConfig ->getPrimaryColumn () : $ column ;
44
+ $ this ->from_primary_key = $ modelConfig ->isPrimaryKey ($ column );
45
+ $ this -> column = $ this -> from_primary_key ? $ modelConfig ->getPrimaryColumn (): $ column ;
45
46
$ this ->argument = $ argument ;
46
47
47
48
$ this ->checkForForbiddenColumns ();
@@ -59,11 +60,8 @@ public function __construct(ModelConfig $modelConfig, OperatorsConfig $operators
59
60
*/
60
61
public function isModelRelation (): bool
61
62
{
62
- if (!str_contains ($ this ->column , '. ' )) {
63
- return false ;
64
- }
65
- $ relation = explode ('. ' , $ this ->column )[0 ];
66
- return in_array ($ relation , $ this ->modelConfig ->getRelations ());
63
+
64
+ return str_contains ($ this ->column , '. ' ) && !$ this ->from_primary_key ;
67
65
}
68
66
69
67
/**
0 commit comments