A form is not allowed to be a child element of a table, tbody or tr. Attempting to put one there will tend to cause the browser to move the form to it appears after the table (while leaving its contents — table rows, table cells, inputs, etc — behind).
You can have an entire table inside a form. You can have a form inside a table cell. You cannot have part of a table inside a form.
Use one form around the entire table. Then either use the clicked submit button to determine which row to process (to be quick) or process every row (allowing bulk updates).
in answer to your question, if you are planning on having multiple forms, then you can add a hidden field within each form to determine which theme you wish to update.
<input type="hidden" name="theme_id" value="{{ $id }}">
in your post method,
$theme = ThemeChanger::where(['user_id' => $id, 'theme_id' => $request->get('theme_id'));
$theme->update(['color_code' => $request->input('color_code')]);
if thats not exactly what you're after, please supply migration detail for ThemeChanger table and details of the relationship between your user and your theme