Совместить данные из 2х объектов.

nalim

Новичок
Совместить данные из 2х объектов.

Есть 2 таблицы sites -> articles и 2 модели (на самом деле больше но для примера) в виде объектов
$articles - все что связано с текстами и $sites все что связано с сайтами.


Вопрос:
если мне нужно получить список сайтов и статей по определенным признакам (sites JOIN articles), куда положить этот метод?

Проблема в том что нежелательно дергать таблицу articles из $sites и наоборот. Хотелось бы чтобы с каждой работал только свой класс,
однако передавать список id из одного метода одного класса в метод другого тоже плохо как для быстродействия
так и для ООП.
Подскажите как это реализовать грамотно.

-~{}~ 01.04.09 14:26:

Я что спросил что-то очень очень глупое?
 

DiMA

php.spb.ru
Команда форума
много слов, а смысл текста не ясен
первые 2 абзаца (2 фразы) - вообще, как мусорный текст
 

Фанат

oncle terrible
Команда форума
я так понял, что это another one bites the dust, пытаясь натянуть объектную модель на реляционную. есть два класса, и ест ьсвязь между ними. И он не знает, в каком из них тянуть связи из бази.

-~{}~ 01.04.09 15:30:

Но написано, конечно, эпохально - я раза с пятого понял.
 

nalim

Новичок
спасибо, за понимание моих записей)
а что нельзя натягивать одно на другое?)
 

Bakti9rov

!*|=?
в духе AR

PHP:
class Site {
  function articles() {
    return $this->articles = Article::find_by_site_id($this->id);
  }
}

$site = new Site($site_id);
$articles = $site->articles();
print_r($site->articles);
print_r($articles);

$sites = Site::find_all();
foreach ($sites as $site) {
  $articles = $site->articles();
  print_r($site->articles);
  print_r($articles);
}
 
Сверху