PHP idiorm/paris を使用して has_many クエリの結果を取得できません。パリのサイトの例に従って、投稿の has_many の結果がオブジェクトとして返されます。
これは素晴らしいことです。オブジェクトを実行して個々のメソッドにアクセスすることはできますが、結果セットを連想配列としてテンプレート エンジンに渡して表示できるようにしたいと考えています。
例:
class Post extends Model {
}
class User extends Model {
public function posts() {
return $this->has_many('Post'); // Note we use the model name literally - not a pluralised version
}
}
API は次のように動作します。
// Select a particular user from the database
$user = Model::factory('User')->find_one($user_id);
// Find the posts associated with the user
$posts = $user->posts()->find_many();
posts オブジェクトにアクセスして、次のように結果セットを出力できます。
// echo each post id
foreach ($posts as $post) {
echo $post->id;
}
私が本当にやりたいことは、 as_array() を使用して結果セット全体を連想配列として取得することです。これは、 as_array が個々の行に対して機能する方法で特定のフィールドによって制限されます。
$post_list = $posts()->as_array(id,title,post,date);
これ、または $user->posts()->find_many()->as_array() のような呼び出しは機能しません。
パリを使用してこのタイプの結果セットにアクセスする正しい方法は何ですか?