sugarcrm データベースの特定のテーブルのデータを doc ファイルに保存する方法はありますか?
ユーザー名、メモ、日付を含むカスタムモジュールがあります。これをデータベースとファイルにも書きたいと思います。
単なるphpファイルではありません。ロジックフックを使ってコードを書きたい。ロジック フックを使用してデータベースにアクセスし、データをファイルに書き込みたいと考えています。
前もって感謝します
DOC ファイルは主に情報の書式設定に使用されるため、DOC ファイルとして保存することはおそらく最善の方法ではありません。通常、標準の .txt ファイルは、このようなプロセスに使用するものです。
そうは言っても、これを可能にする砂糖に組み込まれたメソッドはありません。モジュールに機能を組み込む必要があります。
あなたは正確に何を達成しようとしていますか?モジュール オブジェクトのリビジョンを確認するのに適した、非常に強力な監査ツール セットがあります。テーブルへの変更を監視するだけの場合は、SQL 内でそのテーブル/データベースのログを設定できます。
+++わかりました。保存後にファイルに書き込むだけの場合は、http: //cheleguanaco.blogspot.com/2009/06/simple-sugarcrm-logic-hook-example.htmlの指示に従ってください。ロジックフックを機能させるための簡単なハウツー。Bean クラスを介して渡されたデータを単純に使用し、Bean 内のデータから直接ファイルに書き込むか、bean->id パラメータを使用して SQL クエリを実行し、そのデータからファイルに書き込みます。
また、これはすぐに生成され、トランザクションの最後に破棄される DOC ファイルですか? それとも永続的なログファイルのようなものですか?
++++それは簡単です。今クエリを持っているところを、次のように置き換えます。
$file = fopen($pathAndNameOfFile, 'a+') or die('Could not open file.');
$query = "SELECT * FROM data_base.table";
$result = $bean->db->query($query,true);
$dbRowData = $bean->db->mysql_fetch_assoc($result);
$printedArray = print_r($dbRowData);
fwrite($file, $printedArray) or die('Could not write to file.');
fclose($file);
*ファイルの読み取り/書き込みを可能にするためにアクセス許可を設定する必要がある場合がありますが、それらはマシンの種類に固有であるため、いずれかでエラーが発生した場合は、特定のサーバーのアクセス許可の設定を検索してください。タイプ。
**また、'SELECT * FROM database.table' は、テーブル全体のすべての行を返します。これにより、非常に大きなファイルが生成され、テーブルが大きくなるとパフォーマンスが低下します。Bean クラスを使用して、最後に保存されたタプルを更新する必要があります。
$file = fopen($pathAndNameOfFile, 'a+') or die('Could not open file.');
$query = "SELECT * FROM data_base.table WHERE id = '".$focus->id."';";
$result = $bean->db->query($query,true);
$dbRowData = $bean->db->mysql_fetch_assoc($result);
$printedArray = print_r($dbRowData);
fwrite($file, $printedArray) or die('Could not write to file.');
fclose($file);
mysqldump を使用して、mysql データベースを SQL ファイルにエクスポート/ダンプできます。
mysqldump -u userName -p databaseName tableName > fileName.sql