kunitsuji
tsuji****@m-s*****
2009年 4月 14日 (火) 12:52:03 JST
kunitsujiです。 原因特定できましたか。よかったです。 そう考えると、今後そのようなことが起きないようにするにはどうしていけばい いのかが重要になりますね。 通常のORマッパー等は、テーブル単位でオブジェクトを作ったりしますので、あ くまで操作するのはtrashオブジェクトということになります。 それに対してinsertするのは、trashモデルのみ、とするのが間違いが少ないの かもしれませんね。 kazさんがどういうプログラム、ソースの構成、関数の作成をしているのかがわ かりませんが、 できるだけ、作業を分担してその作業内容のみのものをクラスなりライブラリ、 ヘルパーとして用意する。 で、コントローラーではその作業フローにのっとって、処理は委譲するという記 述方法にできるだけするようにすれば、同じテーブルへのINSERTが何度も出てく るのは少なくなるかも知れませんね。 まあ、コントローラで2回INSERT処理を動かせば一緒ですが、それはさすがに気 がつくでしょうし。 そういう意味では自分もCIのモデルの作成はいろいろ考えて無駄も多いプログラ ムを書いています(笑) 今は機能別にモデルを書いていますが、これをテーブルごとに書いた方がいいの かとか。 ただ、モデルからモデルを呼ぶことができない?のでテーブル単位のモデルとは してません。 どのような形がいいんでしょうかね。いろいろ他の人の意見も聞いてみたいです。 だからドクトリンだよ!というのは別にしてw >こんにちは、kazです。 >ありがとうございます。 >ソースを何回も見直してたら関数の中でinsertしてました。コピぺしてたときに間違 >ってコピーしていたようです。 >お騒がせしました。 > > >> kunitsujiです。 >> >> エラーの内容を見ると、Duplicate entry 'hirakata20090411-1110-T1.mp3' for >> key 2、つまり、このファイルがユニークキーになっているにもかかわらず、重 >> 複してますよ、ということかと思います。 >> すでにこのファイル名のテーブルが存在しているとかないですか? >> ト書きながら見たら、空のテーブルですか。 >> >> では考えられるのは。。。。 >> プログラムで挿入処理のところで、2回インサーと走らせていませんでしょう >> か?ソース上で2回INSERTを実行し、1回目は成功、2回目でエラー、 >> でテーブル見たら1個ある。 >> そんなかんじではないかなぁと。 > >_______________________________________________ >Codeigniter-users mailing list >Codei****@lists***** >http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users