0 Пользователей и 1 Гость просматривают эту тему.
  • 6 Ответов
  • 390 Просмотров
*

ingavr

  • Захожу иногда
  • 283
  • 0 / 0
Добрый вечер дамы и господа!
не сочтите за невежество, но уже везде обыскался - не могу найти причину.

Пытаюсь вывести данные из нескольких таблиц.
Создал свои категории. Под них своя таблица.
Есть список элементов, под них своя таблица, пытаюсь в модели вместо id категории выбрать имя категории.

Вот блок кода php:
Код
protected function getListQuery()
    {
        $db = $this->getDbo();
        $query = $db->getQuery(true);
        $user = JFactory::getUser();
        
        $query->select('a.id, petkinds, state, a.name, description, created, created_by, a.alias');
        $query->from('#__pets_profile AS a');
                      
        $query->select('u.name as created_by');
$query->join('LEFT', '#__users AS u ON u.id = a.created_by');
                
        $query->select('p.name AS type');
$query->join('LEFT', '#__pets_profilekinds AS p ON p.id = a.petkinds');
        
        //print_r ($query);
        //exit();
        
        $orderCol = $db->escape($this->getState('list.ordering', 'id'));
        $orderDir = $db->escape($this->getState('list.direction', 'desc'));
        
        $query->order($orderCol. ' '. $orderDir);
        
        return $query;
    }

Поле id автора благополучно меняется на имя автора,

а вот при попытке заменить id категории (petkinds) на имя категории - блок <tbody> становится пустым!
Где может быть допущена ошибка?
Помогите, пожалуйста!
*

ingavr

  • Захожу иногда
  • 283
  • 0 / 0
Re: вывод данных из нескольких таблиц
« Ответ #1 : 01.11.2016, 23:37:27 »
Для пояснения скажу, что в шаблоне вида, массив Items при включении выборки:
Код
$query->select('p.name AS type');
$query->join('LEFT', '#__pets_profilekinds AS p ON p.id = a.petkinds');

Оказывается пустой.
Когда эти строки закомментировать - всё отображается.
*

ingavr

  • Захожу иногда
  • 283
  • 0 / 0
Re: вывод данных из нескольких таблиц
« Ответ #2 : 02.11.2016, 01:42:33 »
массив Items при включении выборки:
Код
$query->select('p.name AS type');
$query->join('LEFT', '#__pets_profilekinds AS p ON p.id = a.petkinds');

Оказывается пустой.
Когда эти строки закомментировать - всё отображается.

Он оказывается не пустой.
Выдаёт ошибку: Invalid argument supplied for foreach() in C:\OpenServer\domains\...views\profiles\tmpl\default.php on line 66

При этом не важно что у меня стоит в рендере там, где должно показываться имя этой категории. хоть пустым оставляю - всё равно ошибка.  :(
*

Филипп Сорокин

  • Сорокин Band
  • 1868
  • 153 / 4
  • разработчик.москва
Re: вывод данных из нескольких таблиц
« Ответ #3 : 02.11.2016, 06:28:58 »
Вы неправильно составили запрос. Посмотрите пример в оф. руководстве:
https://docs.joomla.org/Selecting_data_using_JDatabase#Selecting_Records_from_Multiple_Tables
*

ingavr

  • Захожу иногда
  • 283
  • 0 / 0
Re: вывод данных из нескольких таблиц
« Ответ #4 : 02.11.2016, 14:40:14 »
Вы неправильно составили запрос. Посмотрите пример в оф. руководстве:
https://docs.joomla.org/Selecting_data_using_JDatabase#Selecting_Records_from_Multiple_Tables
Спасибо, по изучаю.
Я, однако, делал по примеру видеоурока, там у него выборка из четырех таблиц и все одинаковым способом (вот таким, как в моём примере) и всё у него работает, а у меня, почему-то нет(
*

SeBun

  • Живу я здесь
  • 3634
  • 231 / 3
  • @SeBun48
Re: вывод данных из нескольких таблиц
« Ответ #5 : 02.11.2016, 15:58:11 »
Мало повторять за кем то действия, надо понимать, что пишешь. Филипп дал ссылку, изучайте. От себя добавлю, что лучше для проверки результата использовать не print_r, а var_dump, так нагляднее.
Оказываю услуги по Joomla | Миграция на Joomla 3.x | Сопровождение | IT-аутсорсинг
*

ingavr

  • Захожу иногда
  • 283
  • 0 / 0
Re: вывод данных из нескольких таблиц
« Ответ #6 : 02.11.2016, 19:44:52 »
Мало повторять за кем то действия, надо понимать, что пишешь. Филипп дал ссылку, изучайте. От себя добавлю, что лучше для проверки результата использовать не print_r, а var_dump, так нагляднее.

Спасибо за совет.
Но, мне казалось, я всё правильно понимаю: что, за чем и почему. Оказывается не всё.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Поля field types - Вывод материала

Автор Шмайсер

Ответов: 11
Просмотров: 203
Последний ответ 25.10.2018, 12:51:54
от NewUsers
Вывод дополнительных колонок в менеджере пользователей

Автор Nikolaha

Ответов: 10
Просмотров: 316
Последний ответ 16.10.2018, 13:06:38
от Nikolaha
Форма обратной связи в свете изменений к закону о персональных данных

Автор Garun

Ответов: 67
Просмотров: 4107
Последний ответ 03.10.2018, 10:15:15
от Septdir
Восстановление сайта Akebo-ой без базы данных

Автор TYMON

Ответов: 8
Просмотров: 125
Последний ответ 19.09.2018, 15:50:14
от TYMON
Вывод популярных материалов в пункт меню

Автор lexus26

Ответов: 3
Просмотров: 172
Последний ответ 09.09.2018, 10:13:02
от Messir