2009-12-15 104 views
0

我遇到了问题。在每个文件中我都有字段:threads.id和posts.id。solr问题获取字段名称

我想获得他们的字段名称值,所以我可以从数据库中获取数据。

之间的线之间我已经标记了我想要领域的线。

但它返回错误,因为它们是$ doc是对象。

我如何获得字段?我必须在迭代文档时执行此操作,而不是在迭代$ field和$ value时执行此操作。

// 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/>"; 
} 

}

回答

1

根据我想你想的PHPDocs ...

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

在大多数情况下,你可以使用:

$value = $doc->fieldname; 

另外,如果你的字段名ISN这是一个合法的PHP变量,

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