私はyiiにかなり慣れていません。
複数の AR モデルを作成してデータベースに保存するフォームがあります。問題は、多くの場合、新しいエントリが実際には既存のものと同一であることです。この種のデータの冗長性を削減/排除したいと考えています。
フォームには 3 つのエンティティがあります。
- the main model
- client model
- product model
多くの場合、製品とクライアントはすでにデータベースに存在しています。Product と Client は、メイン モデルの外部キーを介して参照されます。
次のことを行うにはどうすればよいか知りたいです。
- クライアントの名前または電話番号を入力すると、yii はクライアント テーブルを検索し、ajax を介して結果を提案として表示します。
- 候補の 1 つを選択すると、クライアント AR にそのデータベース エントリが入力されます。
- フォームが送信されたとき:
- 既存のクライアントが選択されている場合は、メイン モデル内でそのクライアントの ID を使用します。データベースに重複したクライアントを作成しないでください。
- クライアントが既存のレコードに見つからなかった場合は、提供されたフォーム データを使用して新しいレコードを作成します。
質問を投稿するのはこれが2回目です。探しているものがよくわからない場合は、説明を求めてください。これは私が本当に学びたいことです。