cari

Rumah  >  Soal Jawab  >  teks badan

php - Bagaimanakah Laravel's Baum memperoleh id kelas induk akhir bagi rekod tertentu?

Sebagai contoh, saya ingin mendapatkan kelas induk terakhir babi hitam kecil dengan ID 10. Dalam jadual, parent_id ialah 9, tetapi apa yang saya ingin dapatkan ialah 5. Adakah ada cara atau saya ingin menilai sama ada rekod tertentu tergolong dalam kelas ibu bapa terakhir ini

某草草某草草2786 hari yang lalu739

membalas semua(3)saya akan balas

  • 高洛峰

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

    Lakukan carian rekursif, kemudian cari yang mempunyai parent_id=null

    balas
    0
  • 仅有的幸福

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

    Ada 2 kaedah yang anda boleh cuba:

    1. Soal semua id dan parent_id, dan kemudian cari, supaya pernyataan sql tetap boleh dicache.

    2. Tambahkan root_id medan baharu untuk merekodkan nod akar, jadi tidak perlu mencari, hanya bertanya terus Anda hanya perlu menanyakannya sekali semasa memasukkan.

    balas
    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);

    balas
    0
  • Batalbalas