@@ -32,7 +32,7 @@ public function testHasMany()
32
32
33
33
$ items = $ user ->items ;
34
34
$ this ->assertEquals (3 , count ($ items ));
35
- }
35
+ }
36
36
37
37
public function testBelongsTo ()
38
38
{
@@ -264,38 +264,66 @@ public function testMysqlModel()
264
264
{
265
265
// A bit dirty
266
266
MysqlUser::executeSchema ();
267
+ MysqlBook::executeSchema ();
268
+ MysqlRole::executeSchema ();
267
269
268
270
$ user = new MysqlUser ;
269
271
$ this ->assertInstanceOf ('MysqlUser ' , $ user );
270
272
$ this ->assertInstanceOf ('Illuminate\Database\MySqlConnection ' , $ user ->getConnection ());
271
273
274
+ // Mysql User
272
275
$ user ->name = "John Doe " ;
273
276
$ user ->save ();
274
277
$ this ->assertTrue (is_int ($ user ->id ));
275
278
276
- // Has many
279
+ // SQL has many
277
280
$ book = new Book (array ('title ' => 'Game of Thrones ' ));
278
281
$ user ->books ()->save ($ book );
279
282
$ user = MysqlUser::find ($ user ->id ); // refetch
280
283
$ this ->assertEquals (1 , count ($ user ->books ));
284
+
285
+ // MongoDB belongs to
281
286
$ book = $ user ->books ()->first (); // refetch
282
287
$ this ->assertEquals ('John Doe ' , $ book ->mysqlAuthor ->name );
283
288
284
- // Has one
289
+ // SQL has one
285
290
$ role = new Role (array ('type ' => 'admin ' ));
286
291
$ user ->role ()->save ($ role );
287
292
$ user = MysqlUser::find ($ user ->id ); // refetch
288
293
$ this ->assertEquals ('admin ' , $ user ->role ->type );
294
+
295
+ // MongoDB beelongs to
289
296
$ role = $ user ->role ()->first (); // refetch
290
297
$ this ->assertEquals ('John Doe ' , $ role ->mysqlUser ->name );
291
298
292
- // belongsToMany DOES NOT WORK YET
293
- /*$client = new Client(array('name' => 'Pork Pies Ltd.'));
294
- $user->clients()->save($client);
295
- $user = MysqlUser::find($user->id); // refetch
296
- $this->assertEquals(1, count($user->clients));*/
299
+ // MongoDB User
300
+ $ user = new User ;
301
+ $ user ->name = "John Doe " ;
302
+ $ user ->save ();
303
+
304
+ // MongoDB has many
305
+ $ book = new MysqlBook (array ('title ' => 'Game of Thrones ' ));
306
+ $ user ->mysqlBooks ()->save ($ book );
307
+ $ user = User::find ($ user ->_id ); // refetch
308
+ $ this ->assertEquals (1 , count ($ user ->mysqlBooks ));
309
+
310
+ // SQL belongs to
311
+ $ book = $ user ->mysqlBooks ()->first (); // refetch
312
+ $ this ->assertEquals ('John Doe ' , $ book ->author ->name );
313
+
314
+ // MongoDB has one
315
+ $ role = new MysqlRole (array ('type ' => 'admin ' ));
316
+ $ user ->mysqlRole ()->save ($ role );
317
+ $ user = User::find ($ user ->_id ); // refetch
318
+ $ this ->assertEquals ('admin ' , $ user ->mysqlRole ->type );
319
+
320
+ // SQL belongs to
321
+ $ role = $ user ->mysqlRole ()->first (); // refetch
322
+ $ this ->assertEquals ('John Doe ' , $ role ->user ->name );
297
323
298
324
// Dirty again :)
299
325
MysqlUser::truncate ();
326
+ MysqlBook::truncate ();
327
+ MysqlRole::truncate ();
300
328
}
301
329
}
0 commit comments