alan adlarını almak için Solr sorun

2 Cevap php

Ive bir sorun var. Threads.id ve posts.id: Her belgede ben alanları var.

Bu yüzden ben veritabanından veri alabilir onlar için alan adı değerini almak istiyorum.

I alanları almak istediğiniz yerin altındaki çizgiler arasındaki i çizgileri işaretlenmiş.

Onlar $ doc nesnedir çünkü Ama bu hatayı döndürür.

Nasıl alanları alabilirim? O $ alanını ve $ değer dolaşır zaman değil belgeyi dolaşır ve ne zaman bunu yapmak zorunda.

 // iterate document
 foreach ($results->response->docs as $doc)
 {

---------------------------------------
$forum_model->get_country_id_by_thread_id($doc['threads.id']);
$forum_model->get_user_id_by_thread_id($doc['posts.id']);
----------------------------------------

// iterate document fields / values
foreach ($doc as $field => $value)
{
    echo htmlspecialchars($field, ENT_NOQUOTES, 'utf-8') . "<br />";
    echo htmlspecialchars($value, ENT_NOQUOTES, 'utf-8') . "<br />";
    //echo $doc['threads.title'] . "<br/>";
}

}

2 Cevap

PHPDocs göre ben seni istiyorum ...

$threads = $doc->getField('threads.id')

Çoğu durumda kullanabilirsiniz:

$value = $doc->fieldname;

Alternatif olarak, fieldname yasal bir PHP değişkeni değilse,

$field = $doc->getField('field.name');
$value = $field['value'];