Fix find with one key when model key is a string.
This commit is contained in:
		
							parent
							
								
									2f93383aa5
								
							
						
					
					
						commit
						0132ec282b
					
				
					 1 changed files with 16 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -114,13 +114,27 @@ pub fn Repository(comptime Model: type, comptime TableShape: type, comptime conf
 | 
			
		|||
							.One => {
 | 
			
		||||
								switch (@typeInfo(ptr.child)) {
 | 
			
		||||
									// Add a whereIn with the array.
 | 
			
		||||
									.Array => try modelQuery.whereIn(keyType, keyName, modelKey),
 | 
			
		||||
									.Array => {
 | 
			
		||||
										if (ptr.child == u8)
 | 
			
		||||
											// If the child is a string, use it as a simple value.
 | 
			
		||||
											try modelQuery.whereValue(KeyType, keyName, "=", modelKey)
 | 
			
		||||
										else
 | 
			
		||||
											// Otherwise, use it as an array.
 | 
			
		||||
											try modelQuery.whereIn(keyType, keyName, modelKey);
 | 
			
		||||
									},
 | 
			
		||||
									// Add a simple condition with the pointed value.
 | 
			
		||||
									else => try modelQuery.whereValue(keyType, keyName, "=", modelKey.*),
 | 
			
		||||
								}
 | 
			
		||||
							},
 | 
			
		||||
							// Add a whereIn with the slice.
 | 
			
		||||
							else => try modelQuery.whereIn(keyType, keyName, modelKey),
 | 
			
		||||
							else => {
 | 
			
		||||
								if (ptr.child == u8)
 | 
			
		||||
									// If the child is a string, use it as a simple value.
 | 
			
		||||
									try modelQuery.whereValue(KeyType, keyName, "=", modelKey)
 | 
			
		||||
								else
 | 
			
		||||
									// Otherwise, use it as an array.
 | 
			
		||||
									try modelQuery.whereIn(keyType, keyName, modelKey);
 | 
			
		||||
							},
 | 
			
		||||
						}
 | 
			
		||||
					},
 | 
			
		||||
					// Add a simple condition with the given value.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue