Dynamic create fields function not working with loop [RESOLVED]

I’m creating dynamic form fields, which I want saved both in the “entries” data as well as sent via email.

This function is working:

function populate_wines($form) {
    
	// options for select lists
	$select_choices = array(
			array(
               'text'       => '',
               'value'      => '',
             ),
			 array(
               'text'       => '1',
               'value'      => '1',
             ),
             array(
               'text'       => '2',
               'value'      => '2',
             ),
             array(
               'text'       => '3',
               'value'      => '3',
             ),
		);
	
	// create dynamic select field
    $props = array(
        'id'        => 51,
        'type'      => 'select',
        'label'     => 'Dynamic field label',
        'choices'   => $select_choices
    );
    $new_field = GF_Fields::create( $props );
    $form['fields'][] = $new_field;
	
	if ( GFForms::get_page() !== 'form_editor' ) {
		return $form;
	}
}

While this code (with loop to grab wine list info) is sending the data via email fine, but not saving into the “entries” data:

function populate_wines($form) {
	
	// options for select lists
	$select_choices = array(
			array(
               'text'       => '',
               'value'      => '',
             ),
			 array(
               'text'       => '1',
               'value'      => '1',
             ),
             array(
               'text'       => '2',
               'value'      => '2',
             ),
             array(
               'text'       => '3',
               'value'      => '3',
             ),
		);
	
	// loop through wine list
	if( have_rows('wine_options') ):
		$wine_count = 50;
		while( have_rows('wine_options') ) : the_row();
			$wine_ID = get_sub_field('wine_option');
			$wine_name = get_the_title($wine_ID);
	
				// create wine select field
				$props = array(
					'id'        => $wine_count,
					'type'      => 'select',
					'label'     => $wine_name,
					'choices'   => $select_choices
				);
				$new_field = GF_Fields::create( $props );
				$form['fields'][] = $new_field;
	
			$wine_count++;
		endwhile;
	endif;
	
	if ( GFForms::get_page() !== 'form_editor' ) {
		return $form;
	}
}

Can anyone help?

Worked it out myself finally… the ACF loop needed the ID for the post it’s attached to for the admin part (entering data into "entries), it obviously doesn’t read the page it’s on unlike the other hooks.