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

Problem SQL - Field

10 anos 3 meses atrás - 10 anos 3 meses atrás #309 por Xze Rod
Problem SQL - Field foi criado por Xze Rod
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
Ultima edição: 10 anos 3 meses atrás por Xze Rod.

Por favor Acessar ou Registrar para participar da conversa.

10 anos 3 meses atrás #310 por Xze Rod
Respondido por Xze Rod no tópico Problem SQL - Field
ok, solved this problem after testing some query-changes

thanks - really nice tool

Por favor Acessar ou Registrar para participar da conversa.

10 anos 3 meses atrás #317 por Xze Rod
Respondido por Xze Rod no tópico 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`
Os seguintes usuário(s) disseram Obrigado: Andres Maeso

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.053 segundos
Powered by Fórum 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.