2011-12-06 10 views
0

イム、このような私の問題:私は、データベースとの.phpファイルを持っているモデルでPHP MVC MVCアーキテクチャを使用して事前に作成されたJoomlaのコンポーネントに取り組ん

defined('_JEXEC') or die('Restricted access'); 

jimport('joomla.application.component.model'); 


class class_name extends JModel 
{ 

var $_data; 

    function getlast_year(){ 
     $query = 'SELECT year FROM `table` ORDER BY year DESC LIMIT 0,1'; 
     $this->_db->setQuery($query); 
     return $this->_db->loadResult(); 
    } 

} 

としての機能をフェッチ私は、同じクラスファイルに新しい機能を追加しました:(私はMVC /テーブルに過ぎ表の列を更新しています)

として:

function getAttendenceData() 
{ 
    $query="SELECT id,octSec,octNin,octSect,octSec,octTwent FROM `table`"; 
     $this->_db->setQuery($query); 
     //$this->_data = $this->_db->loadObjectList(); 
     $this->_data = $this->_db->loadObject(); 
     return $this->_db->loadObjectList(); 
} 

しかしビューに私はまだ上記の新機能から取得したデータにアクセスしますが、古いカント機能は、これは、実際の答えが、コメントへの応答ではありませんプロパティ

+0

1.まず、実際にクエリからデータを取得しているかどうかを確認します。上記の関数で 'print_r($ this-> _db-> loadObjectList())'を実行してください。 2.はいの場合、このデータにアクセスしているビューのコードは何ですか? – Vikk

+0

おかげで 'Vikk'クエリは正常に動作します。私はデータを '$ this-> data $ r'としてアクセスしてから' $ r-> id'データを古い関数から取り出します。新しい関数 – Sudantha

+0

の問題のみが問題なく取り込まれます。モデルからデータを取り出し、それをビュー変数に割り当てますか?これはあなたのビューの 'view.html.php'ファイルになければなりません。 – Vikk

答えて

1

を取り組んでいます。

最初にview.html.phpファイルにあるモデルからデータを取得する必要があります。あなたはgetAttendenceData()関数から戻ってきているよう

$attendance_data = & $this->get('AttendenceData');

これは、あなたのオブジェクトのリストを与えるでしょう。

これをビュー変数に割り当てます(data)。

$this->assignRef('data', $attendance_data);

今、あなたはあなたのビューでこのデータにアクセスすることができます

foreach($data as $r) 
{ 
    echo $r->id; 
} 
+0

おかげさまで、Vikkの問題はあなたの助けを借りて解決されました! – Sudantha

+0

assignRefはJoomla 1.6以降では推奨されていません。参照してください:http://stackoverflow.com/questions/14883180/joomla-3-what-to-use-instead-of-assignref –

1

は、あなたが2倍のデータをフェッチしようとしている問題ではないですか?

この行では、この行を取得してクラスの_data変数にローカルに格納します。このラインでは

$this->_data = $this->_db->loadObject(); 

再度データを取得しようとしたが(1つの結果だけがあった場合)あなたはすでにそれを取得しました。そのため、おそらく戻ってきている偽

return $this->_db->loadObjectList(); 

あなたべきおそらくリターン$この - > _関数の最後のデータ - あなたがコピーしている元の関数を仮定が実際に機能的でした。

+0

こんにちはDeanは、それが問題ではなかった答えのための多くのおかげで..そのVikkだった言われた!ありがとう! – Sudantha

関連する問題