2

JTableクラスで、MVCコンポーネントのいくつかのテーブルからデータを表示/追加/削除したい:

class HelloWorldTableHelloWorld extends JTable
{
    function __construct(&$db)
    {
        parent::__construct('code', 'id', $db);
      //parent::__construct('#__fairinfo', 'flight_id', $db);
      //parent::__construct('hotelinfo', 'hotelid', $db);
    }
}

コンストラクターは、削除と編集の目的でテーブルの ID を初期化します。3つのテーブルのデータを正常に表示しましたが、削除操作を実行すると、そのテーブルデータのみが削除され、JTableクラスで初期化されますが、すべてのテーブルを追加して初期化するとJTable、エラーが発生します。

4

1 に答える 1

4

Joomlaはそのように機能するようには設計されていません。データベーステーブルごとに1つのテーブルファイルを使用することを意図しています。

モデルでは、必要に応じて3つのテーブルすべてをインスタンス化できますが、各テーブルファイルは個別にする必要があります。

モデルで次のことを行います。

 $tableCode = JTable::getInstance('Code', 'HelloWorldTable');
 $tableFairinfo = JTable::getInstance('Fairinfo', 'HelloWorldTable');
 $tableHotelinfo = JTable::getInstance('Hotelinfo', 'HelloWorldTable');

次に、次のことができます。

 $tableCode->load($id);

また

 $tableHotelinfo->delete($id); 

等;

しかし、これらすべてをいじくり回す代わりに、コンポーネントの作成者に試してみませんか?

于 2012-09-07T07:56:00.880 に答える