Controller_Something extends Controller_Rest {
public function get_something() {
$query = Model_Something::query()->related('hasMany')->get();
return $this->response($query);
}
}
반환 사용하여 객체 대신 JSON 배열을 반환을 수행하십시오 ORM은 관련 반환하기 때문에이 문제가 발생어떻게 FuelPHP의 ORM과 Controller_Rest
{
stuff: here,
looks: good,
hasMany: [
{
id: 151251,
other: stuff
}
]
}
:
{
stuff: here,
looks: good,
hasMany: {
151251: {
id: 151251,
other: stuff
}
}
}
을 나는 배열과 관계를 원하는 레코드의 PKEY에 해당하는 키가있는 결과 배열을 JSON이이를 Object로 해석합니다. 이 배열을 array_values()
또는 그 밖의 것들을 통과 시키길 원한다. 그래서 JSON 결과는 Array를 사용할 것이다. 현재 내가이 일을하고
문제 "해결"하기 :
$res = Format::forge($result_set)->to_array();
$res['hasMany'] = array_values($res['hasMany']);
return $this->response($res);
을하지만 내가 데이터가 될 것입니다 알고 하나 또는 두 개의 레벨 만 유용합니다.
보장되지 않는 관계가있는 경우 복잡한 모델의 모든 잠재적 하위 집합을 오류 검사해야 할 필요가 없습니다.
레코드 PKEY 대신 순차적으로 모든 일대 다 배열을 키 입력하기 만하면됩니다.
'Format :: forge()'는 내가 원하는 것이 아닙니다. 나가는 JSON은 id-keyed 배열을 기반으로하며 배열이 아닌 JSON 객체로 표현됩니다. 이를 보여주기 위해 현재 해결 방법을 추가하겠습니다. – willoller
'find()'를 가리키는 +1은'query()'를 위해 더 이상 사용되지 않습니다 :) – willoller
당신은 색인 된 배열을 원합니다. ORM은 배열 인덱스 값을 사용하여 관련 레코드의 PK를 저장하므로 다시 찾을 수 있습니다. array_values ()가 가장 좋은 옵션 일 것입니다. – WanWizard