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

Problem SQL - Field

10 år 3 måneder siden - 10 år 3 måneder siden #309 af Xze Rod
Problem SQL - Field blev oprettet af 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
Sidste redigering: 10 år 3 måneder siden ved Xze Rod.

Venligst Log på eller Opret en konto for at deltage i samtalen

10 år 3 måneder siden #310 af Xze Rod
Besvaret af Xze Rod på emne Problem SQL - Field
ok, solved this problem after testing some query-changes

thanks - really nice tool

Venligst Log på eller Opret en konto for at deltage i samtalen

10 år 3 måneder siden #311 af Andres Maeso
Besvaret af Andres Maeso på emne Problem SQL - Field
Glad you could make it on your own! Is there a chance to share the solution with the rest of the community? :)

Andrés Maeso
Customer relations manager at Joomla Component Creator.

Denne e-mail adresse bliver beskyttet mod spambots. Du skal have JavaScript aktiveret for at vise den.

Venligst Log på eller Opret en konto for at deltage i samtalen

10 år 3 måneder siden #317 af Xze Rod
Besvaret af Xze Rod på emne 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`
Følgende bruger(e) sagde tak: Andres Maeso

Venligst Log på eller Opret en konto for at deltage i samtalen

Tid til at oprette siden: 0.059 sekunder
Leveret af Kunena Forum

Vi we benytter cookies, så vi bedst muligt kan levere vores services. For mere information, se vores