Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在数组中组合两个不同的模型进行排序,引用的模型丢失_Php_Cakephp 2.0 - Fatal编程技术网

Php 在数组中组合两个不同的模型进行排序,引用的模型丢失

Php 在数组中组合两个不同的模型进行排序,引用的模型丢失,php,cakephp-2.0,Php,Cakephp 2.0,我有两个模型,新闻和项目。新闻有一个被引用的模型,节。项目有一个被引用的模型,即子组。新闻和项目都有一个“已创建”字段。我想在我的主页上显示最近5条新闻或项目 于是我找到了帖子,照上面说的做了: $newsAndProjects = array(); $news = $this->News->find( ... ); foreach ($news as $k => $v) { $newsAndProjects[] = $v['News']; } $projects

我有两个模型,新闻和项目。新闻有一个被引用的模型,节。项目有一个被引用的模型,即子组。新闻和项目都有一个“已创建”字段。我想在我的主页上显示最近5条新闻或项目

于是我找到了帖子,照上面说的做了:

$newsAndProjects = array();

$news = $this->News->find( ... );
foreach ($news as $k => $v) {
    $newsAndProjects[] = $v['News'];
}

$projects = $this->Project->find( ... );
foreach ($projects as $k => $v) {
    $newsAndProjects[] = $v['Project'];
}

if (sizeof($newsAndProjects) > 1) {
    $newsAndProjects = Set::sort($newsAndProjects, '/created', 'DESC');
}
我觉得它很管用。但是当我试图访问新闻或项目的引用模型时,我得到了一个错误

我注意到的是,尽管我过去能够做到这一点:

$news['News']['title']
$news['News']['Section']

。。。进入$newsAndProjects数组后,我必须直接访问模型,即:

$newsAndProjects['title']
我甚至不再有“部分”或“子组”模型,而是:

$newsAndProjects['section_id']
$newsAndProjects['sub_group_id']
。。。例如,这意味着我不能再访问节或子组名称、id等


我怎样才能找回这些信息?

真是个傻瓜。我想出来了。我不熟悉php中的蛋糕和数组,这就是问题所在

我的参考模型没有出现,因为我正在这样做

$newsAndProjects[] = $v['News'];
$newsAndProjects[] = $v['Project'];
而不是这个

$newsAndProjects[] = $v;
$newsAndProjects[] = $v;
我只是把“根”模型(新闻或项目)放在$newsAndProjects数组中,而不是$v,整个模型对象及其相应的引用模型

希望有一天,这篇文章能为人们节省一些时间

$newsAndProjects[] = $v;
$newsAndProjects[] = $v;