小编Kir*_* LM的帖子

在同一模型上雄辩的亲子关系

我有一个模型CourseModule,每个项目都与相同的模型相关.

数据库结构:

在此输入图像描述

模型中的关系:

    public function parent()
    {
        return $this->belongsTo('App\CourseModule','parent_id')->where('parent_id',0);
    }

    public function children()
    {
        return $this->hasMany('App\CourseModule','parent_id');
    }
Run Code Online (Sandbox Code Playgroud)

我尝试了以下内容,但它只返回一个级别的关系.

尝试:

CourseModule::with('children')->get();
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建一个类似于以下的json输出,

预期产出:

[
  {
    "id": "1",
    "parent_id": "0",
    "course_id": "2",
    "name": "Parent",
    "description": "first parent",
    "order_id": "1",
    "created_at": "-0001-11-30 00:00:00",
    "updated_at": "-0001-11-30 00:00:00",
    "children": [
      {
        "id": "2",
        "parent_id": "1",
        "course_id": "2",
        "name": "Child 1",
        "description": "child of parent",
        "order_id": "2",
        "created_at": "-0001-11-30 00:00:00",
        "updated_at": "-0001-11-30 00:00:00",
        "children": [
          {
            "id": "3",
            "parent_id": "2",
            "course_id": "2",
            "name": "Child2", …
Run Code Online (Sandbox Code Playgroud)

php laravel eloquent laravel-5 laravel-5.1

18
推荐指数
3
解决办法
2万
查看次数

标签 统计

eloquent ×1

laravel ×1

laravel-5 ×1

laravel-5.1 ×1

php ×1