別テーブルのフィールドを利用した検索条件を設定したい(Get date from page URL )

1.前提条件

・求人を検索するwebサービスを想定
・検索対象としては、「求人の人気(job_rank)」「カテゴリ」などで検索できる仕様としたい
・検索の仕方としては、RGにて"Get data from page URL"をsearch forする想定
・ただし、「求人の人気」についてはテーブルを別に切り出している
-jobテーブルには、タイトルやカテゴリなどをフィールドとして設定
-job_rankテーブルには、人気度や人気の理由などをフィールドとして設定
・テーブルを切り分けた理由は、単純にフィールドの数が多すぎるのを避けるため、くらいの感覚によるもので明確な根拠はない

2.発生している問題

・RGのdata typeをjobにしているためか、job_rankにあるフィールドがsearch forの対象として表示されない
・そのため、「人気」に基づいた検索が設定できない

4.実装したい機能

・添付画像のようなRGにて、「タイトル」「人気(rank)」「人気の理由(rank_reason)」を表示したい
・表示される求人を検索対象とリンクさせたい(人気で検索させたい)

そのため、RGでsearch forを設定したいが、rankがsearchの対象に出てきません。

7.補足情報 (調べたURL/参考になりそうな事例)

参考情報として、テーブルの設計です。


テーブル設計を変えて、そもそも同一のテーブル内にフィールドを追加していけば解決できるとは思っているのですが、その他の解決方法がありませんかご教示いただけますと幸いです。

お手数ですが、どうぞよろしくお願いします。

「いいね!」 2

Repeating Groupに表示する内容はJobで合ってます。
ただ、constraintに設定する必要はなく、RGの中にGroupやtextを配置し、Current cell’s job’s job_rank’s rankと指定してあげれば表示されるはずです。

画像はjobとjob_rankの関係性のイメージになります。

「いいね!」 1

ご回答、ありがとうございます。

>ただ、constraintに設定する必要はなく、RGの中にGroupやtextを配置し、Current cell’s job’s job_rank’s rankと指定してあげれば表示されるはずです。

こちらですが、この場合は検索ボックスで選択した"rank"の絞り込みについてはRGではなくてRGの下位構成で設定したGroup内でGet dataにて処理するイメージになりますでしょうか、、、?

いったん、RGの下位構成に"job_rankのテーブルで"Groupを設定してみたものの、いまいち上手くいきません。

お手数ですが、なにとぞよろしくお願いします。

うまくいっているように見えますが、問題点はどこでしょうか。

ページ左側にある「人気度から検索」において、人気(Rank)"A"のデータだけRGで表示できるようにしたいのですが、そこがうまくできません。。

URLを見る限り、「検索する」ボタンからうまくsend parameterできているとは思うのですが、RGの絞り込みの仕方で躓いております。

「いいね!」 1

URLを見る限り、「検索する」ボタンからうまくsend parameterできているとは思うのですが、RGの絞り込みの仕方で躓いております。

rankにAと入っていますね。できていると思います!
では、job_rankをparameterの値で検索し、そのjob_rankに紐づくjobを検索してみてはどうでしょうか。

具体的には、Do a search for job_rank filterd: [rank] each item jobみたいな感じになると思います。

ありがとうございます。
RGのData Typeをjob_rankにしたことで、rankに応じた検索ができるようになりました。



一方で、そうしたことで今度は「カテゴリ」で検索したいと思ったときに、RGのsearch forにて今度はjobテーブルのフィールドが表示されないように思います。

自分の理解が追いついていなくてすみませんが、やはりGet data from URLで抽出できるフィールドはRGのTypeで利用したテーブルのものしか参照できないのでしょうか?

いいですね!
では、Search for job_ranksの後にeachitems:jobとして、filterdを入れてみてください。
これで、ランクで絞り込んだjobの中からカテゴリで絞り込むことができます。
イメージとしては以下のフローで考えています。
①job_rankをrankで絞り込み
②①で絞り込んだjob_rankに紐づくjobから選択したカテゴリで絞り込み

Get data from URLで抽出できるフィールドはRGのTypeで利用したテーブルのものしか参照できないのでしょうか?

そんなことはないです。
RGにリストデータを取得できているのであれば、絞り込みは可能です。
あとはデータベースのリレーションと検索方法を工夫することで検索できますよ。

こちら、ありがとうございます!
ご教示いただいたとおりにfiltered:の設定をしてみました。

しかしながら、やはりエラーが返ってきてしまいます。

色々と調べてみたのですが解決策が分からずでして、取るべき対応を教えていただけますと幸いですmm

Type of contentをjobにしてみてください。

添付画像の赤枠部分に「型が違います。jobタイプが正解ではないですか?」というような文章が書かれています。

「いいね!」 1

ありがとうございます、検索できるようになりました!!

以下、自分の振り返りも兼ねて今回学習したサマリを記載しておきます。

①job_rankをrankで絞り込み
②①で絞り込んだjob_rankに紐づくjobから選択したカテゴリで絞り込み

①:RGのtype of contentは最初は「job_rank」で設定するとrankでの検索ができる
②-1:一方で、categoryを検索するためにはeachitems:jobとして、filterdを活用
(リレーショナルを設定しておく)
こうすることで、jobテーブルに紐づくフィールドの検索ができるようになる
②-2:ただし、RGのtype of contentにエラーがでるので、typeをjobに変えておく
※最初から(eachitems:jobを設けずに)、RGのtypeを"job"にしてしまうとsearch forの設定でエラーが出る(typeがjobだが、検索対象のフィールドがjob_rankになる)ことに留意する

上記、johnさんに色々と丁寧に教えていただく中で、自分も理解ができるようになりました!
ありがとうございますmm

「いいね!」 2

解決できてよかったです!
備忘録の投稿と解決報告も非常にありがたいです!

「いいね!」 2