クエリ結果の順序に関して問題が発生している CakePHP プロジェクトに取り組んでいます。ここでは、Buildings (建物に関するすべての情報)、Lists、および ListBuildings (建物とリストのリンク テーブル) の 3 つのテーブルが使用されています。私はアプリケーションをビルドしていないため、残念ながらデータベース構造を変更できません。私は、現在のように見えるのではなく、(建物がリストに追加された瞬間を意味する)$arrBuildings
順序で建物のリストになりたいと考えています。ListBuildings.created
Building.name
function getList($list_id) {
// Get buildings in the list
$building_ids = $this->_getBuildingsForList($list_id);
$conditions = array(
'conditions'=>array('Building.id'=>$building_ids),
'contain' => array(
'List'=>array('conditions' => array ('List.id'=>$list_id))));
// Get the list information
$this->Building->List->recursive=-1;
$List=$this->Building->List->read(null,$list_id);
$options = array(
'conditions' => array('Building.id'=>$building_ids),
'contain' => array(
'List'=>array('conditions' => array ('List.id'=>$list_id)),
'Sqft'
),
);
$this->Building->myId=$this->getUserId();
$arrBuildings = $this->Building->find('all', $options);
print_r($arrBuildings);
}
CakePHP を使っているので、MVC のモデル部分はちゃんと設定されているようです。上記のコードでprint_r
は、次の配列が表示されます。
Array ( [0] => Array (
[Building] => Array (
[id] => 105
[name] => Stark Tower
[address] => 123 Main St.
)
[Sqft] => Array (
[0] => Array (
[id] => 51
[list_id] => 113
[building_id] => 105
[sq_feet] => 2200.000
)
)
[List] => Array (
[0] => Array (
[id] => 113
[title] => Awesome buildings
[ListBuilding] => Array (
[id] => 95
[list_id] => 113
[building_id] => 105
[created] => 2012-10-18 09:40:00 ))))
もう一度言います: クエリ (および結果の配列) を次の順序で並べ替えるにはどうすればよい ListBuildings.Created
ですか?
私はコードを匿名化しようとしましたが、何かを台無しにしてしまった可能性があります。意味をなさないものがある場合はお知らせください :) フィードバックをお寄せいただきありがとうございます。