我有一个如下所示的数组:
Data = array(
'Offer' => array(),
'Country' = array('Name' => Array())
)
现在,如果我想对Name
数组第一项的值进行排序,我将如何解决?
到目前为止,我已经尝试过:
$dataArray = $originalData['data'];
$dataArray = Set::sort($dataArray, '{n}.Country.Name', $direction);
然而这并没有奏效
注意我使用 CakePHPset::Sort
是 Cakephp 的一部分
好吧,看来我不够清楚,所以这里是我的问题的更详细的解释:
所以我在 cake 中创建了自己的数据源,从 API 收集数据。
API 以如下方式返回数据:
data = array(
'Offer' => array('id' => 2, 'name' = 'ExampleName'),
'Stat' => array('Stat1' = 1, 'Stat2' = 2),
'Country => array('Name' => array('name1','name2')
);
现在,为了使用户能够对这些数据进行排序,我必须确保我正确显示。
当只有一个值时,这很好用,即:
$dataArray = $originalData['data'];
$dataArray = Set::sort($dataArray, '{n}.Stat.Stat1', 'ASC);
$originalData['data'] = $dataArray;
然而,国家是一个数组,所以为了“复制”上面的代码,我需要使用 Country['Name'] 数组的第一项。
做这样的事情:
$dataArray = $originalData['data'];
$dataArray = Set::sort($dataArray, '{n}.Country.Name', $direction);
$originalData['data'] = $dataArray;
但是上面的代码失败了......