0

正確なタイトルはわかりません。これが私の問題です:

次のようないくつかのモデルがあります:
Company
Person (ユーザーとは異なります)
User
など。

それらの一部には、1 つ以上のファイルを添付する必要があります。

UploadedFileモデルを作成しました。これを上記のモデルのいずれかにリンクするにはどうすればよいですか? UploadedFileがCompanyに属している場合があります。UploadedFileがPersonに属している場合があります

UploadedFileがCompanyに属している場合、それはPersonなどの他の人には属していません。

すべてのUploadedFileはユーザーに属します(ユーザーがアップロードし、誰がアップロードしたかを追跡する必要があるため)

HABTM はここで機能しますか? 他に良い方法はありますか?

助けてくれてどうもありがとう。

よろしく、
トニー。

4

1 に答える 1

1

UploadedFileを3つすべて(ユーザー、会社、個人)に登録します。

var $belongsTo = array(
    'User' => array('className' => 'User','foreignKey' => 'user_id'),
    'Company' => array('className' => 'Company','foreignKey' => 'company_id'),
    'Person' => array('className' => 'Person','foreignKey' => 'person_id'));

これは常にUserに属しているため、user_idには常に値があります。

次に、company_idが設定されているかperson_idが設定されているかを確認し、ファイルがどちらに属しているかを判断します。私はこのように動作するアプリケーションを持っています。少し骨の折れる作業ですが、他の解決策は見つかりませんでした

もう1つの良いアイデアは、PersonとCompanyを1つのテーブルにまとめて、2つを区別するためのフラグを設定することです。

于 2011-07-21T12:30:54.487 に答える