为什么我只从数据库中获得一个值输出?

时间:2016-06-06 12:43:37

标签: php foreach symfony

我的PHP代码中有一个foreach循环。所以我有一些用户的文档,用户表和文档表由文档表中的user_id列连接。在foreach循环中,我创建了一个if语句,所以如果用户id等于文档表中的user_id,我需要输出文档的标题,我有更多用户ID为1的文档,但我只得到文档标题的第一个值。我的foreach循环错了还是我做错了什么?

 foreach($documents as $document) 
    {
        $user_id = $document['user_id'];
        $title = $document['title'];

        if($user_id == $id)
        {
            return new JsonResponse($title);
        }            
    }

所以$ user_id是文档表中的值,$ id是用户的id值。

Here im getting just one value output and i have two documents for user with id 1

1 个答案:

答案 0 :(得分:4)

您的return正在中断脚本执行。

如果您想要返回所有标题,请执行

$titles = array();

foreach($documents as $document) 
{
    $user_id = $document['user_id'];
    $title = $document['title'];

    if($user_id == $id)
    {
        $titles[] = $title;
    }            
}

return new JsonResponse($titles);