@@ -29,27 +29,21 @@ public function __construct(Behavior $behavior)
2929 public function queryMethods ($ builder )
3030 {
3131 $ script = '' ;
32+ $ script .= $ this ->addWithDistance ($ builder );
3233 $ script .= $ this ->addFilterByDistanceFrom ($ builder );
3334 $ script .= $ this ->addFilterNear ($ builder );
3435
3536 return $ script ;
3637 }
3738
38- public function addFilterByDistanceFrom ($ builder )
39+ public function addWithDistance ($ builder )
3940 {
40- $ table = $ this ->behavior ->getTable ();
41- foreach ($ table ->getColumns () as $ col ) {
42- if ($ col ->isPrimaryKey ()) {
43- $ pks [] = "\$this->getModelAliasOrName().'. " .$ col ->getPhpName ()."' " ;
44- }
45- }
46-
4741 $ builder ->declareClass ('Criteria ' , 'PDO ' );
4842
4943 $ queryClassName = $ builder ->getStubQueryBuilder ()->getClassname ();
5044 $ peerClassName = $ builder ->getStubPeerBuilder ()->getClassname ();
5145
52- return $ this ->behavior ->renderTemplate ('queryFilterByDistanceFrom ' , array (
46+ return $ this ->behavior ->renderTemplate ('queryWithDistance ' , array (
5347 'queryClassName ' => $ queryClassName ,
5448 'defaultUnit ' => $ this ->getDefaultUnit ($ builder ),
5549 'peerClassName ' => $ peerClassName ,
@@ -58,6 +52,18 @@ public function addFilterByDistanceFrom($builder)
5852 ));
5953 }
6054
55+ public function addFilterByDistanceFrom ($ builder )
56+ {
57+ $ builder ->declareClass ('Criteria ' , 'PDO ' );
58+
59+ $ queryClassName = $ builder ->getStubQueryBuilder ()->getClassname ();
60+
61+ return $ this ->behavior ->renderTemplate ('queryFilterByDistanceFrom ' , array (
62+ 'queryClassName ' => $ queryClassName ,
63+ 'defaultUnit ' => $ this ->getDefaultUnit ($ builder )
64+ ));
65+ }
66+
6167 public function addFilterNear ($ builder )
6268 {
6369 $ builder ->declareClassFromBuilder ($ builder ->getStubObjectBuilder ());
0 commit comments