Symfony 1.4/Propel 1.4 に既存のプロジェクトがあります
データベースの最適化のために、いくつかのテーブルのビューを作成しました。関数/ビュー クエリは次のとおりです。
create function getPlayer() returns INTEGER DETERMINISTIC NO SQL return @getPlayer;
create view getPlay as
SELECT
CASE WHEN play.hiderid = getPlayer() THEN play.seekerid ELSE play.hiderid END AS opponent, play . *
FROM odd_play play, odd_match mat
WHERE (seekerid = getPlayer() OR hiderid = getPlayer())
AND play.id = mat.latestplay;
上記のビューを作成した後、次の簡単な SQL クエリを記述して、必要なデータを効果的に取得できます。
select play.*
from (select @getPlayer:=1 p) p, getPlay play;
問題は、このクエリを Symfony/Propel 1.4 でどのように記述するかということです。誰かが prop1.4 でそのクエリを書く方法を提案できますか?
J0Kコメントの後に編集
私はフォローしようとしています
class GetplayPeer extends BaseGetplayPeer {
static public function getOpponents($player){
$con = Propel::getConnection();
$sql = "select play.* from (select @getPlayer:=:player p) ply, getPlay play;";
$stmt = $con->prepare($sql);
$stmt->bindParam(":player",&$player,PDO::PARAM_INT);
$rs = $stmt->execute();
//$opponents = GetplayPeer::populateObjects($rs);
echo "opponents=<pre>";print_r($rs);exit;
}
} // GetplayPeer
出力として取得1
していますが、これは期待される出力ではありません。