How small can it get? Starting with a positive integer N, find the smallest integer N' which can be computed by repeatedly dividing N by one of its digits (in base-10). Each selected digit must be a divisor of N greater than 1.
Example #1
The expected output for N = 230 is N' = 23:

Example #2
The expected output for N = 129528 is N' = 257:

Beware of non-optimal paths!
We could start with 129528 / 9 = 14392, but that would not lead to the smallest possible result. The best we can do if we first divide by 9 is:

Rules

Input can be taken in any reasonable format (integer, string, array of digits, ...).
This is code-golf, so the shortest answer in bytes wins!

Test cases
1         --&gt; 1
7         --&gt; 1
10        --&gt; 10
24        --&gt; 1
230       --&gt; 23
234       --&gt; 78
10800     --&gt; 1
10801     --&gt; 10801
50976     --&gt; 118
129500    --&gt; 37
129528    --&gt; 257
8377128   --&gt; 38783
655294464 --&gt; 1111
Haskell, 67 61 bytes

f n=minimum$n:[f$div n d|d&lt;-read.pure&lt;$&gt;show n,d&gt;1,mod n d&lt;1]

Try it online!
Explanation:

read.pure&lt;$&gt;show n transforms the input integer n into a list of digits.
For each digit d from this list, we check d&gt;1 and mod n d&lt;1, that is whether d divides n.
If the checks are successful, we divide n by d and recursively apply f: f$div n d.
Altogether, this yields a list of the minimal integers from all sub-trees of n.
As the list might be empty, we append n to it and return the minimum of the list.