Laravel Eloquent One-To-Many没有任何表现

时间:2014-12-05 00:57:06

标签: php laravel eloquent

确定。在这里。 我有两个模型可供展示和一个控制器。

PartyPlay.php

class PartyPlay extends BaseModel {

    public $timestamps = false;
    protected $table = 'party_plays';

    public static $relationsData = [
        'course' => [self::BELONGS_TO, 'Course'],
        'owner' => [self::BELONGS_TO, 'User', 'foreignKey' => 'member_id'],
        'members' => [self::HAS_MANY, 'PartyMember']
    ];

    public function toArray() {
        $this->load('course', 'members', 'owner');
        return parent::toArray();
    }

}

Course.php

class Course extends BaseModel {

    protected $table = 'courses';
    public $timestamps = false;

    public static $relationsData = [
        'hole_items' => [self::HAS_MANY, 'Hole']
    ];

    public function toArray() {
        $this->load('hole_items');
        return parent::toArray();
    }

}

BetRegistrationController.php

class BetRegistrationController extends BaseController {

    public function getBets($id) {
        $pp = PartyPlay::find($id);
        return $pp;
    }

}

我的问题是当我访问/ bet-registration / bets / {id}时,它返回完整的JSON,包括PartyPlay与Course模型的课程关系以及Course到Hole模型的hole_items关系。以下是样本返回:

{
    "id": "10",
    "member_id": "7",
    "course_id": "11",
    "course": {
        "id": "11",
        "name": "Course Name 2",
        "holes": "3",
        "hole_items": [
            {
                "id": "30",
                "hole_number": "9",
                "par": "8",
                "course_id": "11"
            },
            {
                "id": "31",
                "hole_number": "7",
                "par": "6",
                "course_id": "11"
            }
        ]
    }
}

但是当我试图遍历课程对象的hole_items时,它会显示Invalid argument supplied for foreach()。当我试图计算数组的长度时,('因为它应该是一个数组),它返回零。

0 个答案:

没有答案