public function testMysqlRelations() { $user = new MysqlUser(); $this->assertInstanceOf('MysqlUser', $user); // exit(dump(get_class($user->getConnection()))); $this->assertInstanceOf('Illuminate\\Database\\MySqlConnection', $user->getConnection()); // Mysql User $user->name = "John Doe"; $user->save(); $this->assertTrue(is_int($user->id)); // SQL has many $book = new Book(['title' => 'Game of Thrones']); $book2 = new Book(['title' => 'Games of Thrones 2']); $user->books()->saveMany([$book, $book2]); $user = MysqlUser::find($user->id); // refetch $this->assertGreaterThanOrEqual(2, count($user->books)); // MongoDB belongs to $book = $user->books()->first(); // refetch $this->assertEquals('John Doe', $book->mysqlAuthor->name); // SQL has one $role = new Role(['type' => 'admin']); $user->role()->save($role); $user = MysqlUser::find($user->id); // refetch $this->assertEquals('admin', $user->role->type); // MongoDB belongs to $role = $user->role()->first(); // refetch $this->assertEquals('John Doe', $role->mysqlUser->name); // MongoDB User $user = new User(); $user->name = "John Doe"; $user->save(); // MongoDB has many $book = new MysqlBook(['title' => 'Game of Thrones']); $book2 = new MysqlBook(['title' => 'Game of Thrones 2']); $user->mysqlBooks()->saveMany([$book, $book2]); $user = User::find($user->_id); // refetch $this->assertEquals(2, $user->mysqlBooks->count()); // SQL belongs to $book = $user->mysqlBooks()->first(); // refetch $this->assertEquals('John Doe', $book->author->name); // MongoDB has one $role = new MysqlRole(['type' => 'admin']); $user->mysqlRole()->save($role); $user = User::find($user->_id); // refetch $this->assertEquals('admin', $user->mysqlRole->type); // SQL belongs to $role = $user->mysqlRole()->first(); // refetch $this->assertEquals('John Doe', $role->user->name); }
public function testMysqlRelations() { $user = new MysqlUser(); $this->assertInstanceOf('MysqlUser', $user); $this->assertInstanceOf('Illuminate\\Database\\MySqlConnection', $user->getConnection()); // Mysql User $user->name = "John Doe"; $user->save(); $this->assertTrue(is_int($user->id)); // SQL has many $book = new Book(array('title' => 'Game of Thrones')); $user->books()->save($book); $user = MysqlUser::find($user->id); // refetch $this->assertEquals(1, count($user->books)); // MongoDB belongs to $book = $user->books()->first(); // refetch $this->assertEquals('John Doe', $book->mysqlAuthor->name); // SQL has one $role = new Role(array('type' => 'admin')); $user->role()->save($role); $user = MysqlUser::find($user->id); // refetch $this->assertEquals('admin', $user->role->type); // MongoDB belongs to $role = $user->role()->first(); // refetch $this->assertEquals('John Doe', $role->mysqlUser->name); // MongoDB User $user = new User(); $user->name = "John Doe"; $user->save(); // MongoDB has many $book = new MysqlBook(array('title' => 'Game of Thrones')); $user->mysqlBooks()->save($book); $user = User::find($user->_id); // refetch $this->assertEquals(1, count($user->mysqlBooks)); // SQL belongs to $book = $user->mysqlBooks()->first(); // refetch $this->assertEquals('John Doe', $book->author->name); // MongoDB has one $role = new MysqlRole(array('type' => 'admin')); $user->mysqlRole()->save($role); $user = User::find($user->_id); // refetch $this->assertEquals('admin', $user->mysqlRole->type); // SQL belongs to $role = $user->mysqlRole()->first(); // refetch $this->assertEquals('John Doe', $role->user->name); }