code: func (q *Query) First(model interface{}) error {
  	err := q.Connection.timeFunc("First", func() error {
  		q.Limit(1)
  		m := &Model{Value: model}
  		if err := q.Connection.Dialect.SelectOne(q.Connection.Store, m, *q); err != nil {
  			return err
  		}
  		return m.afterFind(q.Connection)
  	})
  
  	if err != nil {
  		return err
  	}
  
  	if q.eager {
  		err = q.eagerAssociations(model)
  		q.disableEager()
  		return err
  	}
  	return nil
  }
docs: // First record of the model in the database that matches the query.
  //
  //	q.Where("name = ?", "mark").First(&User{})