使用SequelizeJs获取父类别对象

时间:2015-04-26 23:38:51

标签: node.js sequelize.js

我的模型定义为:

app.db.sequelize.models.Post.findAll({
                where: ['"Post".id = ?', postId],
                include: [

                    {model: app.db.sequelize.models.Category, as: 'category'},

                ]
            }).then(function (post) {
                res.send({post: post});
            })  

然后将类别模型改为:

get_headers()

您可以看到该帖子属于一个类别,可以是父类别或子类别。

每个类别只能有一个父类别。

现在我想要的是获取父类别(如果存在)。我可以去N号。但我很高兴,如果它只在一个层面上工作,即

类别 - 工作 子类别 - IT

现在当我有一个属于IT的帖子时,我希望将类别对象作为IT,但同时IT Category对象必须有另一个Category Job记录对象。

目前我只能将子类别视为:

function getHeadersCheck($url)
{
    $getHeaders=@get_headers($url);

    if(is_array($getHeaders))
    {
        $intersect = array('HTTP/1.0 200 OK','HTTP/1.1 200 OK');
        $result = array_intersect($intersect, $getHeaders);
    }

    if(isset($result) && is_array($result))
        return((empty($result) || count($result)===0) ? false:true);
    else return false;
}

1 个答案:

答案 0 :(得分:2)

Post.findAll({
  where: ['"Post".id = ?', postId],
  include: [
    { 
      model: Category, 
      as: 'category', 
      include: [
        { model: Category, as: 'parent' }
      ]
    },
  ]
});