@@ -26,6 +26,7 @@ class SearchParser implements SearchParserInterface
2626
2727 private string $ argument ;
2828 private ModelConfig $ modelConfig ;
29+ private bool $ from_primary_key ;
2930
3031 /**
3132 * Search constructor.
@@ -40,8 +41,8 @@ class SearchParser implements SearchParserInterface
4041 public function __construct (ModelConfig $ modelConfig , OperatorsConfig $ operatorsConfig , string $ column , string $ argument )
4142 {
4243 $ 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 ;
4546 $ this ->argument = $ argument ;
4647
4748 $ this ->checkForForbiddenColumns ();
@@ -59,11 +60,8 @@ public function __construct(ModelConfig $modelConfig, OperatorsConfig $operators
5960 */
6061 public function isModelRelation (): bool
6162 {
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 ;
6765 }
6866
6967 /**
0 commit comments