1

friendly_name(モデルのvirtualField)でIDのリストを取得しようとしていますが、仮想フィールドで不明な列を取得し続けています。何か案は?

  public $virtualFields = array(
        'friendly_name' => "CONCAT(ReAgent.first_name, ' ',ReAgent.last_name)"
  );

 $results = $this->Re->find("all",
                array("recursive" => 0, 
                    "fields" => array("Re.id","ReAgent.friendly_name"),
                    "contains" => array(
                        "RegroupsRe" => 
                            array("conditions" => 
                                array(
                                    "regroup_id" => $post[$field]
                                )
                            )
                        ),
                        "ReAgent" => array(
                            "fields" => "friendly_name"
                        )
                    )
                );
4

1 に答える 1

1

その仮想フィールドはどこで指定されていますか、ReまたはReAgent?

Reモデルにある場合は、contain内のReAgentモデルの「fields」パラメータを削除します(ちなみに、これは単数である必要があります)。

$results = $this->Re->find(
    "all",
    array(
        "recursive" => 0, 
        "fields" => array("Re.id", "ReAgent.friendly_name"),
        "contain" => array(
            "RegroupsRe" => array(
                "conditions" => array(
                    "regroup_id" => $post[$field]
                ),
            ),
            "ReAgent",
        )
    )
);

封じ込めの外にReAgentもありましたが、それは役に立ちません!上記のサンプルはクリーンアップされています。

于 2012-09-05T12:11:20.723 に答える