Array
(
[Site] => Array
(
[id] => 1
[parent_id] => 0
[title] => test
[url] => http://www.test.com
[slug] => www_test_com
[keywords] => cpc,seo
[language_id] => 1
)
[SiteMeta] => Array
(
[0] => Array
(
[id] => 1
[site_id] => 1
[key] => pagerank
[value] => 5
[created] => 2010-08-03 00:00:00
)
)
)
通过使用cakephp,我调试我的find('all')并将我返回到数组之上。我可以通过查找函数中的订单值对Site字段值进行排序,我也可以使用SiteMeta值
进行排序有什么想法吗? 感谢
答案 0 :(得分:2)
我会在模型中将此作为协会的一部分。
$hasMany = array('SiteMeta'=>array('order'=>array('SiteMeta.value'=>'asc')))
你不必在任何地方重复自己。
答案 1 :(得分:1)
您可以使用具有以下订单条件的默认查询:
$result = $this->Site->find('all', array(
'order'=>array('SiteMeta.value DESC' , 'Site.value DESC'),
'recursive'=>1));
显然,您可以在数组中放置一个条件来检索正确的结果
答案 2 :(得分:1)
我会这样做(如Docs)
所示$result = $this->Site
->find()
->contain([
'SiteMeta' => [
'sort' => ['SiteMeta.pagerank' => 'ASC']
]
]);