Laravel关系:从同一个表中获取子级及其父级

时间:2017-07-25 12:37:17

标签: eloquent laravel-5.4

我已经使用Laravel 5.4几周了。尝试一下Laravel Relationships。我试图获取记录并获取关系类别记录。我还想使用相同的关系获取所获取类别的父级。

类别表:

--------------------------------------------
|   id     | name         | parent_id      |
|------------------------------------------|
|   1      | Deals        |   0            |
|------------------------------------------|
|   2      | Dining       |   1            |
-------------------------------------------- 

交易表:

--------------------------------------------
|   id     | title        | category       |
|------------------------------------------|
|   1      | First Deal   |   2            |
--------------------------------------------

我在交易和类别模型中添加了关系

交易模式:

class Deal extends Model {

    public function category() {        
        return $this->hasOne(Category::class, 'id', 'category');
    }

    // Fetching the Deal
    public function fetchDeals($id = false) {
        $deal = Deal::with('category')->get();
    }

类别型号:

class Category extends Model {

    public function deals() {        
        return $this->hasMany(Deal::class, 'category');
    }

我能够获取交易和关系类别。但是无法抓住该类别的父母。

我尝试阅读几个可能类似的SOF问题: similar 1similar 2similar 3。但是无法想象关系概念。如何编写上述关系以获得交易的父类和子类。

你也可以建议我可以参考的任何参考文章。

请指导。

1 个答案:

答案 0 :(得分:0)

我已经在这项任务上工作了几天,在阅读了一些文章和教程之后,我决定实施 Baum

使用许多方便的方法, Doc 很容易。它易于遍历和操纵并获得所有类别的父ID。此外,发现一些有用的视频。

希望有类似要求的人会觉得这很有帮助。干杯!!