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

Problem SQL - Field

10 Anni 2 Mesi fa - 10 Anni 2 Mesi fa #309 da Xze Rod
Problem SQL - Field è stato creato da 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 Modifica 10 Anni 2 Mesi fa da Xze Rod.

Si prega Accedi o Crea un account a partecipare alla conversazione.

10 Anni 2 Mesi fa #310 da Xze Rod
Risposta da Xze Rod al topic Problem SQL - Field
ok, solved this problem after testing some query-changes

thanks - really nice tool

Si prega Accedi o Crea un account a partecipare alla conversazione.

10 Anni 2 Mesi fa #317 da Xze Rod
Risposta da Xze Rod al topic 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`
Ringraziano per il messaggio: Andres Maeso

Si prega Accedi o Crea un account a partecipare alla conversazione.

Tempo creazione pagina: 0.049 secondi
Powered by Forum 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.