Make pluck works
This commit is contained in:
		
							parent
							
								
									80a7e6296d
								
							
						
					
					
						commit
						6511cad317
					
				
							
								
								
									
										14
									
								
								orm_test.go
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								orm_test.go
									
									
									
									
									
								
							| @ -41,7 +41,7 @@ func init() { | ||||
| 
 | ||||
| func TestSaveAndFind(t *testing.T) { | ||||
| 	name := "save_and_find" | ||||
| 	u := &User{Name: name} | ||||
| 	u := &User{Name: name, Age: 1} | ||||
| 	db.Save(u) | ||||
| 	if u.Id == 0 { | ||||
| 		t.Errorf("Should have ID after create record") | ||||
| @ -59,9 +59,9 @@ func TestSaveAndFind(t *testing.T) { | ||||
| 
 | ||||
| func TestUpdate(t *testing.T) { | ||||
| 	name, name2, new_name := "update", "update2", "new_update" | ||||
| 	user := User{Name: name} | ||||
| 	user := User{Name: name, Age: 1} | ||||
| 	db.Save(&user) | ||||
| 	db.Save(&User{Name: name2}) | ||||
| 	db.Save(&User{Name: name2, Age: 1}) | ||||
| 
 | ||||
| 	if user.Id == 0 { | ||||
| 		t.Errorf("User Id should exist after create") | ||||
| @ -87,9 +87,9 @@ func TestUpdate(t *testing.T) { | ||||
| 
 | ||||
| func TestDelete(t *testing.T) { | ||||
| 	name, name2 := "delete", "delete2" | ||||
| 	user := User{Name: name} | ||||
| 	user := User{Name: name, Age: 1} | ||||
| 	db.Save(&user) | ||||
| 	db.Save(&User{Name: name2}) | ||||
| 	db.Save(&User{Name: name2, Age: 1}) | ||||
| 	orm := db.Delete(&user) | ||||
| 
 | ||||
| 	orm = db.Where("name = ?", name).First(&User{}) | ||||
| @ -105,7 +105,7 @@ func TestDelete(t *testing.T) { | ||||
| 
 | ||||
| func TestWhere(t *testing.T) { | ||||
| 	name := "where" | ||||
| 	db.Save(&User{Name: name}) | ||||
| 	db.Save(&User{Name: name, Age: 1}) | ||||
| 
 | ||||
| 	user := &User{} | ||||
| 	db.Where("Name = ?", name).First(user) | ||||
| @ -239,11 +239,9 @@ func TestSelect(t *testing.T) { | ||||
| 	if query.Error == nil { | ||||
| 		t.Errorf("Should got error with invalid select string") | ||||
| 	} | ||||
| 	debug(query.Error) | ||||
| } | ||||
| 
 | ||||
| func TestPluck(t *testing.T) { | ||||
| 	var ages []int64 | ||||
| 	db.Model(&[]User{}).Order("age desc").Pluck("age", &ages) | ||||
| 	debug(ages) | ||||
| } | ||||
|  | ||||
							
								
								
									
										7
									
								
								sql.go
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								sql.go
									
									
									
									
									
								
							| @ -92,12 +92,11 @@ func (s *Orm) pluck(value interface{}) { | ||||
| 
 | ||||
| 	rows, err := s.db.Query(s.Sql, s.SqlVars...) | ||||
| 	s.Error = err | ||||
| 
 | ||||
| 	defer rows.Close() | ||||
| 	for rows.Next() { | ||||
| 		dest := reflect.New(dest_type).Elem() | ||||
| 		s.Error = rows.Scan(dest) | ||||
| 		dest_out.Set(reflect.Append(dest_out, dest)) | ||||
| 		dest := reflect.New(dest_type).Elem().Interface() | ||||
| 		s.Error = rows.Scan(&dest) | ||||
| 		dest_out.Set(reflect.Append(dest_out, reflect.ValueOf(dest))) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Jinzhu
						Jinzhu