Как получить доступ к элементу объекта внутри массива без цикла foreach - PullRequest
0 голосов
/ 23 января 2012

Я пытаюсь научиться использовать Zend Framework, и теперь я сталкиваюсь со следующей проблемой.Я читаю некоторую информацию из базы данных для конкретного поста.Я использую Datamapper и Models.

$postMapper = new Application_Model_PostMapper();
$post = new Application_Model_Post();
$details = $postMapper->find($postID, $post);
$this->view->postDetail = $details; 

В моем представлении я использую foreach ($ this-> postDetail как $ value), чтобы прочитать всю информацию о сообщении.Но мне было интересно, могу ли я также получить доступ к Информации без foreach.Мне нужен только адрес электронной почты в контроллере, и я не понимаю, зачем мне нужен foreach.Но как мне получить к этому доступ?Zend_Debug имеет следующие результаты:

array(1) {
[0] => object(Application_Model_Post)#87 (27) {
["_email":protected] => string(10) "test@testmail.com"

Это звучит как очень глупый вопрос, но я просто не могу найти способ прочитать адрес электронной почты внутри контроллера.Может кто-нибудь дать мне подсказку?

Ответы [ 3 ]

0 голосов
/ 23 января 2012

Когда вы получаете данные от Model / db по fetchAll, например:

$result = $this->fetchAll($select);

Вы можете

$result->toArray();

//access like array
$result[0]->some_col_1;
$result[0]->some_col_2;

$result[1]->some_col_1;
$result[1]->some_col_2;
...
0 голосов
/ 24 января 2012

один из них должен работать:

  • , если $ details возвращает массив: $email = $details['email']; or =$details[0]['email'];
  • , если $ details возвращает объект: $email = $details->email;
0 голосов
/ 23 января 2012

В вашем классе Application_Model_Post вы должны создать метод доступа, чтобы получить приватное значение.

Итак, создайте метод, подобный этому.

public function getEmail(){
    return $this->_email;
}

Если честно, я думаю, у вас уже будут эти методы, если вы правильно используете datamapper.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...