Zend Framework ライブラリの Active Record パターン (RoR/Cake に似ています) に取り組んでいます。私の質問は次のとおりです。選択オブジェクトがテーブルのエイリアスを使用しているかどうかを確認するにはどうすればよいですか?
$select->from(array("c" => "categories"));
対。
$select->from("categories");
そして、これを「フェッチ」関数に渡します。これにより、結合が追加され、行の関係が自動的に取得されます...カスタムSQLを追加したいと思います。ユーザーが「from」メソッドをどのように使用したかに基づいて、「c.id」または「categories.id」のいずれか。
私は私が使用できることを知っています
$parts = $select->getPart(Zend_Db_Select::FROM);
からデータを配列として取得し、テーブル名またはエイリアスがその配列の「スロット」0にあるようです。テーブル名またはエイリアスは常にスロット 0 になりますか? つまり、確実に使用できますか:
$tableNameOrAlias = $parts[0];
これが複雑な場合は申し訳ありませんが、お役に立てば幸いです! :)