gorm中有表a,a中有字段id和parentid,如何实现当传入一个id值后搜索parentid值等于传入id值的记录,然后再搜索id值等于当前搜索的parentid的值的记录
时间: 2024-04-30 16:19:16 浏览: 15
可以使用gorm的链式查询方法,将两个查询条件连在一起查询,示例如下:
```
db.Where("parentid = ?", id).First(&result)
db.Where("id = ?", result.parentid).First(&result)
```
其中,`db` 表示gorm的数据库连接对象,`result` 表示查询结果存放的变量,`id` 表示传入的id值。
第一个查询条件是搜索parentid值等于传入id值的记录,通过 `Where` 方法设置查询条件,并通过 `First` 方法取到第一条符合条件的记录。
第二个查询条件是搜索id值等于当前搜索的parentid的值的记录,同样使用 `Where` 方法设置查询条件,并通过 `First` 方法取到第一条符合条件的记录。
将两个查询条件连在一起,就可以实现上述需求。
相关问题
gorm中有表a,a中有字段id和parentid,如何实现当传入一个id值后搜索parentid值等于传入id值的记录
可以使用gorm的链式查询和Where语句来实现,示例如下:
```
db.Where("parentid = ?", id).Find(&records)
```
其中,"parentid = ?"表示查询条件,"? " 会被传入的id值替换,从而找到parentid等于id的记录。Find(&records) 则会把查询结果存入records变量中。
gorm中怎么实现传入一个值来进行五次查询
您可以使用gorm的Where函数来实现传入值查询5次的功能,如下所示:
```
for i := 1; i <= 5; i++ {
db.Where("column = ?", value).Find(&result)
}
```
其中,column是您想要查询的数据库列,value是您传入的值,result是查询结果。循环5次,每次都将查询结果存入result中。