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

Laravelでのmiddlewareの実行順番

Laravelでのmiddlewareをいじって認証直後の処理を作りたいときなど。 例えばログイン後、ユーザーidに応じた共通処理などをかませたいときです。 この場合、当然ログインの後に処理を実行しな …

no image

laravelでのredis活用

以前下記エントリーでredisの活用について書きました。 インメモリデータベース redis 一般的な使用法ですと登録できるデータはstring,list,hashのような比較的単純な形しか登録できな …

no image

nginxの設定&php-fpmインストール

本日、久しぶりにPHPのWebアプリを別サーバーに移行したのですが、nginxの設定でかなり手間取りましたのでちょっと記録しておきます。 Contents1 nginxの設定1.1 インストール1.2 …

no image

PDFテンプレートの活用

PDFのテンプレートの活用について。 PDFを出力するプログラムはいろいろありますが、今回はすでにあるPDFをテンプレート化できるライブラリについて。 Contents1 FPDI2 ソース3 参考リ …

no image

call_user_funcについて

call_user_funcについて。 call_user_funcはメソッドを動的に呼ぶことができるメソッドの1つで、コールバック関数を使いたいときに使われます。JavaScriptでは比較的多いと …

アーカイブ