2009-12-15 4 views
0

J'ai un problème. Dans chaque document, j'ai des champs: threads.id et posts.id.problème pour obtenir les noms de champs

Je veux obtenir la valeur du nom de champ pour eux afin que je puisse obtenir des données de la base de données.

Entre les lignes ci-dessous j'ai marqué les lignes où je veux obtenir les champs.

Mais il renvoie une erreur car il s'agit d'un objet $ doc.

Comment puis-je obtenir les champs? Je dois le faire quand il itère le document et pas quand il itère les $ field et $ 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/>"; 
} 

}

Répondre

1

Selon les PHPDocs je pense que vous voulez ...

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

Dans la plupart des cas, vous pouvez utiliser:

$value = $doc->fieldname; 

Alternativement, si votre nomchamp ISN 't une variable PHP légale,

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