recherche

Maison  >  Questions et réponses  >  le corps du texte

php - Comment Baum de Laravel obtient-il l'identifiant final de classe parent d'un enregistrement donné?

Par exemple, je veux obtenir la classe parent finale du petit cochon noir avec l'ID 10. Dans le tableau, le parent_id est 9, mais ce que je veux obtenir est 5. Y a-t-il un moyen ou je veux juger si ? un certain enregistrement appartient à cette classe parent finale

某草草某草草2736 Il y a quelques jours702

répondre à tous(3)je répondrai

  • 高洛峰

    高洛峰2017-06-06 09:56:07

    Faites une recherche récursive, puis trouvez celle lorsque parent_id=null

    répondre
    0
  • 仅有的幸福

    仅有的幸福2017-06-06 09:56:07

    Vous pouvez essayer 2 méthodes :

    1. Interrogez tous les identifiants et parent_id, puis effectuez une recherche afin que les instructions SQL corrigées puissent être mises en cache.

    2. Ajoutez un nouveau champ root_id pour enregistrer le nœud racine, il n'est donc pas nécessaire de rechercher, il suffit de l'interroger directement. Vous n'avez besoin de l'interroger qu'une seule fois lors de l'insertion.

    répondre
    0
  • 漂亮男人

    漂亮男人2017-06-06 09:56:07

        $arr = array(
                    array(
                        'id'        => 10,
                        'parent_id' => 9
                        ),
                    array(
                        'id'        => 9,
                        'parent_id' => 5
                        ),
                    array(
                        'id'        => 5,
                        'parent_id' => null
                        ),
            
            
            );
        function getParentId($arr, $id = 10) {
            foreach ($arr as $val) {
                if($val['id'] == $id) {
                    if(!empty($val['parent_id'])) {
                        $id = $val['parent_id'];
                        getParentId($arr, $id);
                    }else {
                        return $id;
                    }
                }
            }
            return $id;
        }
        
        echo getParentId($arr, 10);

    répondre
    0
  • Annulerrépondre