-2

Zend Framework でデータベース テーブルの列フィールドを CSV としてダウンロードしたいと考えています。このための ZF ライブラリはありますか?

この特定の主題に対処するSOに関する他の質問がありますが、どれも十分な詳細を提供しません。誰かがそれを行う方法を詳しく説明してもらえますか?

4

1 に答える 1

0

テーブルに標準の DbTable モデルがあると仮定します。info() メソッドを使用してテーブル情報を取得する

//the following is pseudocode and not meant to be copied directly, intended to guide
public function indexAction() {
    $model = new Application_Model_DbTable_MyTable();
    //This returns an array of table info
    $info = $model->info();
    //prepare the data so each line can be saved
    $data = $info['name'] . ',' . $info['primary'];
    //then write each line to the database, I usually use a function from
    // a utility class or a protected function
    //I would normally build an array of the data I want saved and then
    //iterate over the array saving as I go.
    $save = $this->_writeToFile($filename, $data);
}

//the following function is not pseudocode
protected function _writeToFile($filename, $content) {
        // Let's make sure the file exists and is writable first.
        if (is_writable($filename)) {

            // In our example we're opening $filename in append mode.
            // The file pointer is at the bottom of the file hence
            // that's where $somecontent will go when we fwrite() it.
            if (!$handle = fopen($filename, 'a')) {
                echo "Cannot open file ($filename)";
                exit;
            }
            // Write $somecontent to our opened file.
            if (fwrite($handle, $content) === FALSE) {
                echo "Cannot write to file ($filename)";
                exit;
            }
            echo "Success, wrote ($content) to file ($filename) <br />";
            //close file
            fclose($handle);
        } else {
            echo "The file $filename is not writable";
        }
    }

これがあなたを正しい方向に向けることを願っています。

于 2012-04-13T09:08:50.247 に答える