Where are you getting the sub field values?
I see nothing in your code to actually get a value from a sub field.
if the field ‘children’ is a repeater then this $kids = get_field ('children', $post->ID);
returns an array in the format
$kid = array(
{$row_index} => array(
'sub_field_name' => 'sub_field_value'
)
)
when using a ‘have_rows()’ loop then you need to use get_sub_field() to get the values for the row.