Categoría de nivel múltiple en multiselección de CodeIgniter con una sola tabla

Estoy intentando crear una categoría de múltiples niveles desde $ form-> multiselect ().
A continuación está la estructura de mi mesa.

| id | parent | name | |----|--------|---------| | 10 | 0 | 'menu1' | | 12 | 10 | 'menu2' | | 13 | 10 | 'menu3' | | 14 | 0 | 'menu4' | 

El resultado es

 +----+---------+ | id | name | +----+---------+ | 10 | 'menu1' | | 12 | 'menu2' | | 13 | 'menu3' | | 14 | 'menu4' | +----+---------+ 

la identificación mostraba el valor y el nombre para mostrar en el elemento seleccionado.

  menu1 menu2 menu3 menu4  

no mostró la Jerarquía. Quiero mostrar a continuación.

  menu1 menu1 -> menu2 menu1 -> menu3 menu4  

¿Que debería hacer?
Me gustaría manipular la estructura de $ form_multiselect ().

Supongo que la tabla que enumeró en la parte superior está en una base de datos según el formato en que la obtuvo … Si así es como la obtiene, intente (no publicó los nombres de la tabla, así que tendrá que hacer eso tú mismo):

 $result = $this->db->select('CASE WHEN b.name IS NOT NULL THEN CONCAT(a.name, ,\' -> \' b.name) ELSE a.name END AS option') ->from('yourtable a') ->join('yourtable b', 'a.parent = b.id', 'left') ->get()->result(); 

Si su pregunta me ha confundido, me disculpo … No fue mucho para seguir …

Multi-categoría multiselect CodeIgniter https://github.com/hamedhossani/Multi_level_category_multiselect_CodeIgniter

es mi respuesta. mí mismo.