решить проблему, чтобы получить имена полей - PullRequest
0 голосов
/ 15 декабря 2009

У меня проблема. В каждом документе у меня есть поля: threads.id и posts.id.

Я хочу получить для них значение имени поля, чтобы я мог получать данные из базы данных.

Между строками ниже я пометил линии, где я хочу получить поля.

Но он возвращает ошибку, потому что они $ doc is object.

Как я могу получить поля? Я должен сделать это, когда он повторяет документ, а не когда он повторяет $ 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/>";
}

}

Ответы [ 2 ]

1 голос
/ 22 декабря 2009

В большинстве случаев вы можете использовать:

$value = $doc->fieldname;

В качестве альтернативы, если ваше имя поля не является допустимой переменной PHP,

$field = $doc->getField('field.name');
$value = $field['value'];
1 голос
/ 17 декабря 2009

Согласно PHPDocs я думаю, что вы хотите ...

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