Данные формируют несколько моделей в одном модуле в Symfony - PullRequest
0 голосов
/ 05 декабря 2010

Я изучаю Symfony, и я столкнулся с одной проблемой, и я не мог найти ответ: Я беру в качестве примера учебник по Jobeet из Jobeet-1.4-Doctrine-ru.

В день 3 [ день 3 ]: все дело в модели и в этом, где я застрял При создании интерфейса запускается следующая команда:

$ php Учение Symfony: генерировать модуль --with-show --non-verbose-templates задание внешнего интерфейса JobeetJob

Генерирует модуль 'job' в соответствии с предоставленным модулем 'JobeetJob'

Теперь у меня вопрос: у меня есть еще один модуль под названием «JobeetArticles», где люди могут научиться писать лучшие резюме и тому подобное. Я хочу, чтобы для модуля «работа» были доступны данные из «JobeetJob» и «JobeetArticles». Как я могу это сделать? Я надеюсь, что мой вопрос ясен

Привет

Ответы [ 2 ]

1 голос
/ 24 января 2011

Как правило, если ваши отношения настроены правильно (я не уверен, что вам НУЖНО сделать что-то в Symfony, чтобы разрешить это), вы просто сделали бы что-то подобное в уроках Jobeet с категориями ...

в файле actions.class.php для задания у вас есть executeIndex, а внутри него у вас есть $ this-> Categories = JobeetCategoryPeer :: getWithJobs ();

и что он делает, так это находит модель JobeetCategoryPeer и вызывает функцию getWithJobs () в этой модели, а затем возвращает эти данные обратно контроллеру задания для отправки в представление в виде $ category.

Итак, вы захотите сделать что-то подобное, поэтому в JobeetArticlesPeer создайте функцию для возврата нужных вам данных ...

static public function getArticles()
{
  $criteria = new Criteria();
  //whatever criteria you want in here

  return self::doSelect($criteria);  

}

А в вашем файле JobeetJob actions.class.php что-то вроде

public function executeIndex(sfWebRequest $request)
{
  $this->articles = JobeetArticlesPeer::getArticles();
}

И, наконец, в вашем indexSuccess.php для JobeetJob

<?php foreach ($articles as $article): ?>
  <div class="article">
    <div class="article_title">
      <h1>
        <?php echo link_to($article, 'article', $article) ?>
      </h1>
      <?php echo $article->getAuthor() //field name for author ?>
    </div>
    <div class="article_content">
      <?php echo $article->getContent() //field name for article content ?>
    </div>
  </div>
<?php endforeach; ?>

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

0 голосов
/ 05 декабря 2010

Может быть, это поможет вам с тем, что вы хотите достичь.Привет http://www.symfony -project.org / more-with-symfony / 1_4 / ru / 06-Advanced-Forms

...