参照連動項目を検索条件に指定する
最終更新日: 2024年10月30日
R8 | R9
図1,図2はそれぞれ "ジャスミンソフト" と "ジャスミン商事" に顧客が紐付いた(外部キー関係の)定義を行っています。
(子である)「顧客」モデルの検索画面を開きます。
この例では「会社」モデルを親、「顧客」モデルを子として定義していきます。
「会社名」項目はデータベースに保存するようにします。(項目を定義すると、標準ではデータベースに保存されます。)
「会社ID」は外部キーとします。会社IDの参照連動項目として「会社名」を用意します。
会社モデルの主キーを、外部キーとして指定します。
データベースに保存するという設定を行うこともできます。この場合、親の会社モデルの会社名が変更された場合でも、子である顧客モデルのデータは古い会社名のまま維持されます。
条件式は標準で空白となっています。この場合は完全一致検索となります。
参照先の項目は、"データベースに保存する" ようにしてください。(上の例における「会社モデル」の「会社名」はデータベースに保存する設定となっている必要があります。)
連動元の項目も、"データベースに保存する" ようにしてください。(上の例における「顧客モデル」の「会社ID」はデータベースに保存する設定となっている必要があります。)
参照連動の数珠つなぎ(例えば「参照連動 > 参照連動 > ... > 参照連動 > 文字列型項目」という場合)は、最後の項目が "データベースに保存する" となっている必要があります。
下記の指定は行えません。
一つのSQLクエリにメインデータベースとサブデータベースへの問い合わせを含めることはできません。
上の例ですと、「顧客」モデルがメインデータベース、「会社」モデルがサブデータベースという場合は検索できません。(実行時エラーとなります。)
例
「会社」モデルを親とし、それに紐づく「顧客」モデルを子とした例
顧客モデルの「会社名」項目は参照連動であり、顧客モデルには(データベース定義として)用意されていません。
(親である)「会社」モデルと結合して、検索を行うことができます。
定義方法
会社モデル
顧客モデル
会社ID
会社名
ワンポイント
条件式を「文字列の部分一致」に設定します。
注意
仕様・制約
参照先項目はデータベース保存されていること
連動元項目はデータベース保存されていること
指定できない場合
サブデータベースとの組み合わせ