bueno, los que debes hacer una alternativa que utilizo bastante es trabajar con variables de sesion,
ejemplo:
buscas el detalle y agregas una instancia a un carro de compras, o a una grilla, despues que tengas tu array de datos, lanzas la accion crear.
primero guardas la cabecera y recuperas el ID "$cabecera->create();" despues lo recuperas asi, "$lastId = $cabecera->id;"
y haces un foreach para recorrer todo el array de detalles para insertar uno por uno a la tabla y lo amarras con el id de la cabecera. espero que entiendas la idea
suerte.