0

私はyiiにかなり慣れていません。

複数の AR モデルを作成してデータベースに保存するフォームがあります。問題は、多くの場合、新しいエントリが実際には既存のものと同一であることです。この種のデータの冗長性を削減/排除したいと考えています。

フォームには 3 つのエンティティがあります。

  - the main model
  - client model
  - product model

多くの場合、製品とクライアントはすでにデータベースに存在しています。Product と Client は、メイン モデルの外部キーを介して参照されます。

次のことを行うにはどうすればよいか知りたいです。

  • クライアントの名前または電話番号を入力すると、yii はクライアント テーブルを検索し、ajax を介して結果を提案として表示します。
  • 候補の 1 つを選択すると、クライアント AR にそのデータベース エントリが入力されます。
  • フォームが送信されたとき:
    • 既存のクライアントが選択されている場合は、メイン モデル内でそのクライアントの ID を使用します。データベースに重複したクライアントを作成しないでください。
    • クライアントが既存のレコードに見つからなかった場合は、提供されたフォーム データを使用して新しいレコードを作成します。

質問を投稿するのはこれが2回目です。探しているものがよくわからない場合は、説明を求めてください。これは私が本当に学びたいことです。

4

0 に答える 0