skillup

技術ブログ

PHP

cakePHP CSVのインポートとエクスポート

投稿日:2015年11月18日 更新日:

本日もcakeネタです。

CSVインポート&エクスポート

CSVのインポートとエクスポートについて。

かなりいろいろなプラグインがあるようですが、一番楽なのはbehaviorを使う手法のようです。

app\Model\Behavior直下に下記ファイルを作成します。

CsvExportBehavior.php

CsvImportBehavior.php

ソースはそれぞれ下記にあります。

参考リンク

CakePHPでテーブルの情報をCSVに吐いたり読んだりしてみる

ソース

https://github.com/pronique/CakePHP-ProUtils-Plugin/blob/master/Model/Behavior/CsvExportBehavior.php

https://github.com/CakeDC/utils/blob/master/Model/Behavior/CsvImportBehavior.php

下記のようなことに注意する必要があります。

エクスポート

  • ダウンロードはテーブルの全データを自動的にダウンロードしてしまう(find(“all”)の記述あり)
  • 検索を入れたい場合はCsvExportBehavior.phpのカスタマイズが必要

インポート

  • csvのフィールド名とデータベースのフィールド名が同じだとそのままインサートされる。。
  • 逆に言うとそうでないものはインサートできないので、CsvImportBehavior.phpのソースをいじるか、beforesaveなどで対応する必要がある。

-PHP
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

フレームワークの基本的なアーキテクチャについて

フレームワークで大事なのは基本的な文法ではなく、構造の理解だと思います。 PHPですとCake,Laravel,Synfonyなどありますが、1つのものでしっかりと理解できていれば他のものもそれほど問 …

no image

PHP_CodeSnifferによるコードチェック

昨日の記事でphpmdという静的解析ツールを調査したんですが、それ以外にも規約にのっとっているかどうかコーディングをチェックできるツールはあります。 PHP_CodeSniffer https://g …

no image

PHPでの切り上げ誤差問題

PHPを初めて、4年近くたちますがいまだに知らんことが多いですね(爆) 本日は、

になるという非常にビックリな仕様に遭遇・・・ なにや …

no image

PHPで配列の同一性(集合のチェック)

AとBという配列があり、A⊂B つまりは集合のような関係を確かめたいときに下記のようなメソッドを使います。  

no image

PHPでの空白削除に関して

PHPで空白を削除する方法についてメモします。 trimについて 空白を削除する関数といえばtrimが何といっても一番有名でしょう。

アーカイブ