× Please submit new Bug Reports on GitHub: github.com/Jensen-Technologies/component-creator-issues/issues

Problem SQL - Field

10 года 2 мес. назад - 10 года 2 мес. назад #309 от Xze Rod
Xze Rod создал тему: Problem SQL - Field
Hi,

what code do i have to fill into the query field to get a list of a costum database?

In other custom-php's i used a query like:
$query = "
    SELECT `id`, `name`
    FROM `#__vereine`
    ORDER BY `id`;
";
$db->setQuery($query);
$data = $db->loadObjectList();

translated to joomla query this should be:
$query
    ->select($db->quoteName('id', 'name'))
    ->from($db->quoteName('#__jclubs'))
   ->order('id ASC');
$db->setQuery($query);
$results = $db->loadObject();

but i got some error rmessages in front & backend. Meanwhile, i changed the componentname.php in both 'models' folders of site & administration to get this component work. Without those sql-queries, the component works fine.

In my next step, i changed the codelines of the componentname.php  to:
[...]
    public function getItems() {
        $items = parent::getItems();
        
        foreach ($items as $oneItem) {
                    $oneItem->art = JText::_('COM_JGAMES_MATCHLISTEN_ART_OPTION_' . strtoupper($oneItem->art));
                    $oneItem->abteilung = JText::_('COM_JGAMES_MATCHLISTEN_ABTEILUNG_OPTION_' . strtoupper($oneItem->abteilung));

            if (isset($oneItem->heimverein)) {
                $values = explode(',', $oneItem->heimverein);

                $textValue = array();
                foreach ($values as $value){
                    if(!empty($value)){
                        $db = JFactory::getDbo();
                        $query 
                            ->select($db->quoteName('id', 'name'))
                            ->from($db->quoteName('#__jclubs'))
                            ->order('id ASC');
                        $db->setQuery($query);
                        $results = $db->loadObject();
                        if ($results) {
                            $textValue[] = $results->value;
                        }
                    }
                }

            $oneItem->heimverein = !empty($textValue) ? implode(', ', $textValue) : $oneItem->heimverein;

            }

            if (isset($oneItem->gastverein)) {
                $values = explode(',', $oneItem->gastverein);

                $textValue = array();
                foreach ($values as $value){
                    if(!empty($value)){
                        $db = JFactory::getDbo();
                        $query
                            ->select($db->quoteName('id', 'name'))
                            ->from($db->quoteName('#__jclubs'))
                           ->order('id ASC');
                        $db->setQuery($query);
                        $results = $db->loadObject();
                        if ($results) {
                            $textValue[] = $results->value;
                        }
                    }
                }

            $oneItem->gastverein = !empty($textValue) ? implode(', ', $textValue) : $oneItem->gastverein;

            }
                    $oneItem->heimabteilung = 
JText::_('COM_JGAMES_MATCHLISTEN_HEIMABTEILUNG_OPTION_' . 
strtoupper($oneItem->heimabteilung));
                    $oneItem->gastabteilung = 
JText::_('COM_JGAMES_MATCHLISTEN_GASTABTEILUNG_OPTION_' . 
strtoupper($oneItem->gastabteilung));
                    $oneItem->heimmannschaft = 
JText::_('COM_JGAMES_MATCHLISTEN_HEIMMANNSCHAFT_OPTION_' . 
strtoupper($oneItem->heimmannschaft));
                    $oneItem->gastmannschaft = 
JText::_('COM_JGAMES_MATCHLISTEN_GASTMANNSCHAFT_OPTION_' . 
strtoupper($oneItem->gastmannschaft));
        }
        return $items;
    }
[...]
as far as i know, the $query should work, but in front & backend, i get the strange error-message:
Fatal error: Call to a member function select() on a non-object in [...]/administrator/components/com_jgames/models/matchlisten.php on line 198
Fatal error: Call to a member function select() on a non-object in /components/com_jgames/models/matchlisten.php on line 163



The Codeline in both cases is :   
->select($db->quoteName('id', 'name')) 

can somebody help me
Последнее редактирование: 10 года 2 мес. назад пользователем Xze Rod.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

10 года 2 мес. назад #310 от Xze Rod
Xze Rod ответил в теме Problem SQL - Field
ok, solved this problem after testing some query-changes

thanks - really nice tool

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

10 года 2 мес. назад #317 от Xze Rod
Xze Rod ответил в теме Problem SQL - Field
Yes, of course ;-)

let's say, this is the sql query i want to use
$query
    ->select($db->quoteName('id', 'name'))
    ->from($db->quoteName('#__jclubs'));
$db->setQuery($query);
$results = $db->loadObject();
-> i have to insert only these code-lines into the query-field
SELECT `id`, `name`
FROM `#__clubs`
Спасибо сказали: Andres Maeso

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.090 секунд
Работает на Kunena форум

We use cookies so that you can place orders and we can provide a better service. You can control the use of cookies at the individual browser level. If you reject cookies, you may still use our website, but your ability to use some features or areas of our website may be limited.