繁体   English   中英

Backbonejs仅在PHP JOIN上获取一条记录

[英]Backbonejs only fetching one record on PHP JOIN

好了,所以我有一个php响应GET HTTP请求; 这个php脚本调用数据库,并检索一组行。

$results = $db->pdoquery("SELECT * FROM posts JOIN users ON posts.user_id=users.id ORDER BY posts.cre DESC LIMIT 4");
    $json = json_encode($results);
    echo $json;

现在,当我使用骨干js'.fetch'命令时,它只返回第一条记录1,而不是四条记录。

如果我更改了php脚本,我会得到全部四个,但是我必须失去JOIN

$results = $db->pdoquery("SELECT * FROM posts ORDER BY posts.cre DESC LIMIT 4");
    $json = json_encode($results);
    echo $json;

谁能解释我在做什么错?

更新:PHP页面打印的JSON

[{"id":"7","post_name":"title","pretty_url":"link1","preface":"a preface 7","body_text":"a body","feat":"0","img":"\/img\/logo.png","cre":"2012-07-22","modi":"2012-07-18","user_id":"2"},{"id":"6","post_name":"title","pretty_url":"link","preface":"a preface 6","body_text":"a body1","feat":"0","img":"\/img\/logo.png","cre":"2012-07-21","modi":"2012-07-18","user_id":"2"},{"id":"5","post_name":"TestTitle 1","pretty_url":"testlink4","preface":"a preface 5","body_text":"a body 2","feat":"0","img":"\/img\/logo.png","cre":"2012-07-20","modi":"2012-07-16","user_id":"2"},{"id":"4","post_name":"TestTitle 1","pretty_url":"testlink3","preface":"a preface 4","body_text":"a body 3","feat":"0","img":"\/img\/logo.png","cre":"2012-07-19","modi":"2012-07-16","user_id":"2"}]

我发现了问题。

“帖子和用户”具有相同名称的列,主要是“ id”,并且由于这四个帖子记录具有相同的user_id,因此“ id”列的设置相同。

骨干网必须内置一些东西,以跳过它认为相同的记录或类似的记录。 简单地详细描述我需要的内容即可解决此问题。

无论修复它的代码在下面

        $results = $db->pdoquery("SELECT 
        posts.post_name, posts.pretty_url, posts.preface, posts.img, posts.cre, posts.modi, users.username
        FROM posts 
            JOIN users 
                ON posts.user_id=users.id 
                ORDER BY posts.cre 
                DESC LIMIT 4");
    $json = json_encode($results);
    echo $json;

谢谢大家的帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM