SQL запрос

Что делаю не так?

Создал модель в /wa-apps/site/lib/models - siteHabNewTeams.model.php

С обязательным атрибутом $table:

--------------------

<?php

class siteHabNewTeamsModel extends waModel
{
protected $table = 'hub_topic';

}

--------------------

Создал класс в /wa-apps/site/lib/classes - siteHabNewTeams.class.php

--------------------

<?php

class siteHabNewTeamsModel extends waModel
{
protected $table = 'hub_topic';

}

--------------------

<?php

class siteHabNewTeams
{
protected $table;

public static function NewTeams()
{
$hw_model = new siteHabNewTeamsModel();

$sql = "SELECT title FROM {$this->table} WHERE id = 5";
$cor = $sql;
return $cor;
}

--------------------

Соответсвенно пытаюсь получить название топика под id5 из таблицы hub_topic, но ничего не получаю =(

var_dump ($cor); - объявляет NULL

3 ответа

  • 1
    Михаил Ушенин Webasyst 10 января 2015 08:25 #
    1. Зачем вы создаёте собственную модель для уже существующего приложения "Сайт" и при этом обращаетесь к таблицам приложения "Хаб"? Может, лучше оформить ваш код в виде плагина?
    2. Посмотрите в документации, как использовать методы модели для извлечения данных.
    3. Идентификатор приложения "Хаб" — hub, а не hab.
    4. Teams?
  • 1
    Cheshir 10 января 2015 15:39 #

    "Идентификатор приложения "Хаб" — hub, а не hab." - siteHabNewTeams.class.php - Вы про это? Это же произвольное название.

    Плагин для нескольких обращений к бд? Не оправдано сложно... Хочу понять, каким образом построить самостоятельный запрос к БД, в хаб то, контакты или магазин. Из документации понял, что необходимо создать модель в который будет обязательный атрибут $тейбл в которой указывается необходимая таблица, и эту модель вызывать при обращении к БД...

    • +3
      Михаил Ушенин Михаил Ушенин Webasyst 12 января 2015 04:07 #

      Если вам нужно просто выполнить SQL-запрос, то создавать класс модели необязательно. Можно сделать намного проще:

      $sql = 'SELECT *** FROM *** WHERE ***';
      $model = new waModel();
      $data = $model->query($sql)->fetchAll();

  • 1
    Cheshir 12 января 2015 11:37 #

    В этом и загвоздка... пробовал такой код (по примеру других файлов)... В каком файле его размещать и по какому пути? Мои действия:

    - Создать php в /wa-apps/site/lib/classes.
    - Прописать логику (в данном случае sql).
    - Получить в шаблоне по примеру вывода хелпера, аля {siteNewThemes::NewThemes()}, где siteNewThemes - название php файла, а NewThemes - имя функции в которой прописан sql

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите