Controller_Something extends Controller_Rest {
public function get_something() {
$query = Model_Something::query()->related('hasMany')->get();
return $this->response($query);
}
}
戻り値:
{
stuff: here,
looks: good,
hasMany: {
151251: {
id: 151251,
other: stuff
}
}
}
リレーションを配列として欲しい:
{
stuff: here,
looks: good,
hasMany: [
{
id: 151251,
other: stuff
}
]
}
これは、ORM がレコードの PKEY に対応するキーを持つ関連する結果配列を返し、JSON がこれをオブジェクトとして解釈するために発生します。これらの配列を通過させたいarray_values()
ので、JSON の結果は Array を使用します。
現在、問題を「解決」するためにこれを行っています。
$res = Format::forge($result_set)->to_array();
$res['hasMany'] = array_values($res['hasMany']);
return $this->response($res);
しかし、これは、データが存在することがわかっている 1 つまたは 2 つのレベルでのみ役に立ちます。
保証されていない関係がある場合、複雑なモデルのすべての潜在的なサブセットをエラーチェックする必要はありません。
レコード PKEY ではなく、すべての 1 対多配列に順次キーを設定したいだけです。