質問: b.id'); views\myview\tmpl\default.php// the data from the joined data is available for display something like this echo "<span>" . $this->item->lastvisitdate. "</span>" joomla 3では、preparetable、gettable、getform、loadformdata、getitemなどの一連の関数が表示されます。私の知る限りでは、定義済みのフォーム/ xml、フィールドなどを使用して、プライマリテーブルを非常に詳細に説明しています。ビューに表示されるgetitemのデータをchange変更できますが、2番目から使用可能なデータを取得する方法については無知ですテーブル!主テーブルを別のテーブルに結合し、その情報をビューで表示できるようにするための最良の方法は何ですか。 (例:#__ users.idにmytable.created_byを結合して、最終訪問日などを取得します。)
回答: これがそれを行うためのベストプラクティスな方法であるか(より良い方法があるかどうかコメントしてください)、またはまさにあなたが探している方法であるかどうかはわかりませんが、joomlaの記事を例として使用した私のアプローチは次のとおりです:関心のあるファイル components\com_content\views\article\view.html.php components\com_content\models\article.php view.html.phpを変更しますpublic function display($tpl = null)の上部に、次のような行が表示されます。$this->item = $this->get('item');_models\article.php_にある関数getitemから記事データを取得しますその行を次のようなものに複製します。$this->item = $this->get('mydata');article.phpを変更します次に、このコードブロックを使用して、目的のデータを取得するための関数を追加する必要があります。_ public function getmydata($pk = null) { $myitemobj = new stdclass(); $myitemobj->something = 'something you need'; $db = jfactory::getdbo(); $query = $db->getquery(true); $query->select('*') ->from($db->quotename('#__users')) ->where($db->quotename('id') . ' = 467'); $db->setquery($query); $myitemobj->mydbobj = $db->loadobject(); return $myitemobj; } _ビューでは、次のようにそのデータにアクセスできます。_echo "<span>". $this->mydata->something ."</span>"; echo "<span>". $this->mydata->mydbobj->username ."</span>"; _より包括的なソリューションが必要な場合は、 mvcコンポーネントでの複数のモデルの使用 を確認することをお勧めします。