• Получить иерархические данные из базы?

    dzheka3d
    @dzheka3d
    ой всё, Вы вообще в команде работаете? А, ну да, "команда" же...
    И да, задайте вопрос ТСа гуглу и найдите на него ответ.
    Люди на работу устраиваются в крупные фирмы, чтобы опыта набраться... Потому что там общаются, спрашивают и тыкают пальцем в ту часть, где сосед пошел не по правильному пути, заранее видя его проблемы в будущем с выбранным методом!
  • Получить иерархические данные из базы?

    dzheka3d
    @dzheka3d
    Перенес... Там просто в комментах сидит умная "команда"
  • Получить иерархические данные из базы?

    dzheka3d
    @dzheka3d
    ой всё, Я прям чувствую, как вы родились с книжкой в руках и не задали не одного "глупого" вопроса. Я прям вижу, как преподы в универе при любом заданном вопросе отвечали - читай книгу... И прям вижу, как всяя ваша "команда" сидит молча и никогда друг другу не задает вопросы, просто тупо берут книжку и неделями ищут решение, которое знает сосед!
  • Получить иерархические данные из базы?

    dzheka3d
    @dzheka3d
    ой всё, Хотя, я даже сомневаюсь в компетентности вашей "команды". Как правило ржут кони, ну и те кто прочитал книжку и считает себя офигенным программистом!
  • Получить иерархические данные из базы?

    dzheka3d
    @dzheka3d
    ой всё, первое - вопрос писал не я.
    второе - какое вам и вашей команде дело до того, что человек учится и спрашивает то, что непонятно?
    Удобно там со своей командой четырехглазых обсуждать свои проблемы? Удобно! Так не мешайте обсуждать проблемы людям, которые учатся сами!
  • Получить иерархические данные из базы?

    dzheka3d
    @dzheka3d
    morricone85, На самом деле, не совсем понятно что вам нужно. Вы хотите вывести статьи, которые лежат в активных категориях?
    Вым просто нужен запрос типа:
    SELECT p.* 
    FROM `posts` p 
    INNER JOIN `category` cat ON cat.`id` = p.`category_id` 
    WHERE cat.`status` = 1
  • Получить иерархические данные из базы?

    dzheka3d
    @dzheka3d
    ой всё, Дамочка, я вас прошу, воздержитесь от своих советов и уберегите людей от них!
  • Это нормальная идея?

    dzheka3d
    @dzheka3d
    Спарсить страницы можно просто и с такими махинациями, зато вам при разработке, хоть чуть-чуть, но сложнее... Используйте id и не заморачивайтесь...
  • Как использовать ассоциации в запросе?

    dzheka3d
    @dzheka3d Автор вопроса
    Dmitry Bay, Они и есть в другой таблице, поэтому и нужен подзапрос, но после выполнения подзапроса я не могу их прибавить к голосам, которые были отданы, непосредственно, в конкурсе, для того чтобы по этой сумме отсортировать.
  • Как использовать ассоциации в запросе?

    dzheka3d
    @dzheka3d Автор вопроса
    Dmitry Bay, Не, у меня гораздо сложнее запрос, я поэтому и написал, чтобы не обращали внимание на логику. В моем случае нельзя сохранять это значение в записи с постом, потому что их десятки разных.
    Конкурсы... Один пост может участвовать в разных конкурсах, каждому посту в каждом конкурсе могут ставить как лайк, так и голосовать за него на странице голосования.
    Но конкурс проходит определенное количество времени, поэтому лайки необходимо учитывать только за определенный период. В общем если всю логику объяснять - получится еще сложнее ))
  • Как использовать ассоциации в запросе?

    dzheka3d
    @dzheka3d Автор вопроса
    AS не обязателен, он никак не влияет...
  • Как работает autoload с пространствами имен?

    dzheka3d
    @dzheka3d Автор вопроса
    Спасибо, вроде понял получилось! Но это будет правильное использование?

    /index.php
    use modules\voting as vot;
    
    $ClassChild = new vot\ClassChild;


    /modules/voting/ClassChild.php
    namespace modules\voting;
    
    use modules\voting as parentt;
    
    class ClassChild extends parentt\ClassParent{
    	//..........
    }


    /modules/voting/ClassParent.php
    namespace modules\voting;
    
    class ClassParent{
    
    	//...............
    	
    }
  • Как работает autoload с пространствами имен?

    dzheka3d
    @dzheka3d Автор вопроса
    >>> Наверно нужно
    получается у каждого файла должен быть собственный namespace?

    namespace modules\voting\ClassChild;
    namespace modules\voting\ClassParent;
  • Нужно ли создавать класс для объектов?

    dzheka3d
    @dzheka3d Автор вопроса
    А что должен "уметь" делать Entity? Понятно, "set", "get" параметров, возвращать некие комбинации этих параметров вроде:
    getStringAddress() {return $this->country.', '.$this->state.', '.$this->city}
    (но тут не уверен)... В базу данных он лезть не должен, трогать другие классы также не должен...
    Можете ли вкратце описать, или это и есть максимум того, что на Entity можно возлагать?
  • Почему метрика и аналитика показывают разные отказы?

    dzheka3d
    @dzheka3d Автор вопроса
    Но стремиться достаточно по яндексу? Ведь это логичнее, человек зашел на страницу кулинарного рецепта, нашел что надо и сидит читает и кошеварит, не?
  • Нужно ли создавать класс для объектов?

    dzheka3d
    @dzheka3d Автор вопроса
    diamond, я просто хочу понять, как это делается. Если всегда прибегать к готовым решениям, то это как взять cms, поддерживать сайт и не понимать внутреннего устройства
  • Нужно ли создавать класс для объектов?

    dzheka3d
    @dzheka3d Автор вопроса
    Егор, diamond, судя по вашей дискуссии, я понял, что вроде я делаю все правильно? по крайней мере двигаюсь в нужную сторону ))

    Но получается такая ситуация, что у сущности Post есть свойство author_id, которое мы также получаем в ModelPost.
    Но по-хорошему, мне ведь нужно отдать данные об авторе, во View, тоже как объект? Т.е. свойство author_id должно быть объектом author в котором присутствует id, имя автора, аватар и т.д.. На каком этапе нужно получать с помощью author_id информацию об авторе поста?

    Полагаю, что удобно было бы в классе Post создать метод Post->GetAuthor($author_id), в котором было бы обращение к методу модели ModelUser ModelUser->getUserFromId($id) там по такому же принципу, как я создал сущность Post, создастся сущность User, вернется в Post и сохранится в Post->author. Вроде красиво, но мне кажется не правильно.
    Потому как мы же получаем много постов на страницу, а значит выйдет так, что для каждого запроса будет лететь запрос в базу для получения User.

    Поэтому, я догадываюсь, что это лучше сделать так:
    При вызове модели ModelPost где-то указать, что когда мы будем получать посты, нужно к ним получить еще и авторов. А значит после выполнения цикла while($row = $res->fetch_assoc()){...} создать такой код:

    if($this->needAuthorsObjects){
    	// этот метод переберет весь $this->list_posts и достанет все id авторов
    	$authors_id = $this->getIdAuthorsFromPosts();
    	
    	// получаем массив объектов User
    	$users = new ModelUser->getUserFromId($authors_id);
    
    	// перебираем массив постов и добавляем к нужномупосту соотвествующего автора
    	foreach($this->list_posts as $post_obj){
    		$post_obj->setAuthor($users[$post_obj->id]);
    	}
    }


    Правильно?
  • Нужно ли создавать класс для объектов?

    dzheka3d
    @dzheka3d Автор вопроса
    А что не так с ModelPost?
  • Нужно ли создавать класс для объектов?

    dzheka3d
    @dzheka3d Автор вопроса
    Егор, Зачем разделять? Прийдется же в каждом писать свои гетеры и сетеры? Не улавливаю преимущества... Поясните плз
  • Должен ли контроллер знать о существовании других моделей?

    dzheka3d
    @dzheka3d Автор вопроса
    т.е. по идее, особых правил структуры MVC нет? И чем должен заниматься контроллер или модель, о существовании чего (других моделей, других контроллеров) они должны знать, четкого разделения, как правила, нет?
    Главная задача - легкая переносимость в другие проекты. Я правильно вас понял?

    У меня просто такая дилемма... ведь есть модель (класс) Post, в котором добавляем, редактируем записи. Но ведь в одном проекте к постам могут быть комментарии и в этом случае нам нужно связывать модель Post и модель Comment. А в другом проекте не будет комментариев... Выходит что уже просто взять и перенести класс в другой проект уже не получится...
    Вот я и не могу понять как делают так, чтобы это удавалось... Что бы я не делал - всегда классы связаны между собой хоть чем-то, хотя бы даже запросами к другим таблицам БД, например для получения количества лайков того-же поста.