@@ -183,6 +183,32 @@ public function testJoin()
183183 $ this ->assertEquals ($ user ->address , $ contact ->address );
184184 }
185185
186+ public function testJoinIsClearedAfterCalledTwice ()
187+ {
188+ $ user = new User (new PDO ('sqlite:test.db ' ));
189+ $ user ->name = 'demo ' ;
190+ $ user ->password = md5 ('demo ' );
191+ $ user ->insert ();
192+
193+ $ contact = new Contact (new PDO ('sqlite:test.db ' ));
194+ $ contact ->user_id = $ user ->id ;
195+ $ contact->
email =
'[email protected] ' ;
196+ $ contact ->address = 'test address ' ;
197+ $ contact ->insert ();
198+
199+ $ user ->select ('*, c.email, c.address ' )->join ('contact as c ' , 'c.user_id = user.id ' )->find ();
200+ // email and address will stored in user data array.
201+ $ this ->assertEquals ($ user ->id , $ contact ->user_id );
202+ $ this ->assertEquals ($ user ->email , $ contact ->email );
203+ $ this ->assertEquals ($ user ->address , $ contact ->address );
204+
205+ $ user ->select ('*, c.email, c.address ' )->join ('contact as c ' , 'c.user_id = user.id ' )->find ();
206+ // email and address will stored in user data array.
207+ $ this ->assertEquals ($ user ->id , $ contact ->user_id );
208+ $ this ->assertEquals ($ user ->email , $ contact ->email );
209+ $ this ->assertEquals ($ user ->address , $ contact ->address );
210+ }
211+
186212 public function testQuery ()
187213 {
188214 $ user = new class (new PDO ('sqlite:test.db ' )) extends User {
0 commit comments