ブックマーク / qiita.com/softark (2)

  • 演習 - HAS_MANY リレーションによる検索 (Yii 1.1版) - Qiita

    Yii 1.1 で CActiveRecord や CActiveDataProvider を使っているときに、HAS_MANY のリレーションによる検索をうまく書くことが出来ずに、途方に暮れてしまう場合があります。この記事では、よくある課題を解きながら、どうやって HAS_MANY のリレーションによる検索を書いたらよいかを見ていきます。 この記事は Yii 1.1 のみを対象としたものです。Yii 2 については、演習 - HAS_MANY リレーションによる検索 (Yii 2 版) を参照して下さい。 二つのエンティティが 1:N の関係になる場合があります。というか、普通のデータベースを使う限りにおいては、この関係が唯一可能な関係で、1:1 の関係は 1:N の特殊形、N:N の関係は複数の 1:N の組合せとして考えることが出来ます。 で、この 1:N のありふれた関係を Yii

    演習 - HAS_MANY リレーションによる検索 (Yii 1.1版) - Qiita
  • CGridView で関連モデルによって検索とソートをする - Qiita

    // 記事 class Post extends CActiveRecord { ... function relations() { return array( 'author'=>array(self::BELONGS_TO, 'Author', 'id_author'), ); } ... } 記事をグリッドで一覧表示するときには、投稿者名をコラムに表示して、投稿者名でソートしたり、検索したり出来るようにしたいと思うでしょう。そういう機能を提供する(私の考えでは)最善の方法を以下に述べます。 検索用の属性を追加する 最初に Post モデルに検索文字列を格納する新しい属性を追加します。検索文字列の格納は外部キーのカラムを使っても出来ますが、私としては、外部キーのカラムの意味をオーバーロードしない方が良いと思います。というのは、検索のシナリオでは、外部キーの ID ではなく文字列を格納

    CGridView で関連モデルによって検索とソートをする - Qiita
  • 1