0

私はJoomlaComponent2.5を開発していますが、現時点ではモデルからのデータの取得に固執しています。次のクエリを使用してデータを取得しています。

私のモデルでは:

    public function test() {
    $db = JFactory::getDbo();

    $query = $db->getQuery(true);
    $query ->select(array('desc')) ->from('PC_APIData');

    $db->setQuery($query);

    $results = $db->loadObjectstdClass();

}

私のview.html.phpで:

    $InternetModelInternet = &$this->getModel('Internet');
    $test = $InternetModelInternet->test();
    $getData = $InternetModelInternet->getData();

    var_dump($getData);

データを取得する唯一の方法は、必要なデータを表示するvardumpを使用することです。しかし、どうすればリターンまたはエコーでこれを解決できますか?これらのいずれかを使用すると、結果がNULLになります。

4

1 に答える 1

1

モデルでこれを試してください。

 public function test() {
    $db = JFactory::getDbo();

    $query = $db->getQuery(true);
    $query ->select(array('desc')) ->from('PC_APIData');

    $db->setQuery($query);

    $results = $db->loadObjectstdClass(); 
     //loadObjectList,loadObject or any other methods you can use for fetching based on list or single row. any way the result return as array.
    return $result;


    }

あなたの見解では

 $InternetModelInternet = &$this->getModel('Internet');
 $test = $InternetModelInternet->test();
 echo "<pre>";
 print_r($test).

結果は、クエリ条件に基づいてリストまたは単一の配列になるはずです。

いずれにせよ、モデルから結果を返す必要があります。そうすれば、ビューまたはコントローラーで結果を取得できます。Joomla dbクエリの詳細については、こちらをご覧ください

また、このようなクエリを書くことができます。

 $db = JFactory::getDbo();
 $sql ="your detailed query";
 $db->setQuery($sql);
 $db->query();
 $res = $db->loadObjectList();
 return $res;

これがお役に立てば幸いです。

于 2013-01-15T14:23:58.023 に答える