确定。在这里。 我有两个模型可供展示和一个控制器。
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()
。当我试图计算数组的长度时,('因为它应该是一个数组),它返回零。