skillup

技術ブログ

PHP

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

投稿日:

本日もcakeネタです。

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

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

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

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

CsvExportBehavior.php

CsvImportBehavior.php

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

参考リンク

http://j-caw.co.jp/blog/?p=299

http://webengineerlife.com/2011/06/16/csv-import/

ソース

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でのAPI実装

Laravelで外部からAPI叩いてデータ入力みたいなことをしたかったのでこれを機に勉強。認証とかを通してないのでそのまま公開すると危険です・・(汗) 参考リンク [PHP] Laravel5.6で、 …

no image

PHPでの切り上げ誤差問題

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

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

no image

Queueの登録と実際の処理に関して

実務でQueueに絡んだ処理をする機会があったのでメモ。 Contents1 Queueとは2 Laravelでのキュー処理2.1 キューを記録しておく場所2.2 処理を登録する場面(当然まだ処理は行 …

no image

Cakeの共通処理

CakePHPだけに限りませんが、フレームワークの場合、オブジェクト指向の特徴を理解して、全ページに共通な処理などは個々のコントローラーに書くのではなく、もっと抽象度の高いクラスに書いたほうが保守性が …

no image

PHPでのリフレクション

Javaなどでは結構やりましたが、PHPでも動的にインタンス生成→メソッド呼び出しということをやれるとやれることが一気にふえるため、ちょっとメモです。 Contents1 ソース2 参考リンク ソース …