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

Problem SQL - Field

10 år 3 månader sedan - 10 år 3 månader sedan #309 av Xze Rod
Problem SQL - Field skapades av 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
Last edit: 10 år 3 månader sedan by Xze Rod.

Be Logga in eller Skapa ett konto ansluta till konversationen.

10 år 3 månader sedan #310 av Xze Rod
Svar från Xze Rod i ämnet Problem SQL - Field
ok, solved this problem after testing some query-changes

thanks - really nice tool

Be Logga in eller Skapa ett konto ansluta till konversationen.

10 år 3 månader sedan #317 av Xze Rod
Svar från Xze Rod i ämnet 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öljande användare sa tack: Andres Maeso

Be Logga in eller Skapa ett konto ansluta till konversationen.

Sidan laddades på: 0.053 sekunder
Powered by Kunena Forum

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.