0

ユーザー、メッセージ、コメントがあります。

ユーザーIDuser_id

メッセージIDuser_id

コメントidmessage_id

with()を使用してメッセージのユーザーデータを取得できます。

$model = ORM::factory('message');
$messages = $model
            ->with('user')
            ->find_all();

with('comment')は機能しません。私がメッセージhas_manyコメントを持っている間、それは1対1の関係のために作成されたので、私は推測します。

コメントデータを$messagesに取り込むにはどうすればよいですか?次のように:['message_id'] ['comment_id'] [DATA]?

4

1 に答える 1

1

0. 関係を定義します。

ユーザー has_many メッセージ メッセージ has_many コメント メッセージ belongs_to ユーザー コメント belongs_to メッセージ

class Model_User extends ORM {
    protected $_has_many = array('messages' => array());
}

class Model_Message extends ORM {
    protected $_belongs_to = array('user' => array());
    protected $_has_many = array('comments' => array());
}

class Model_Comment extends ORM {
    protected $_belongs_to = array('message' => array());
}

1. ユーザー メッセージを取得します。

$messages = ORM::factory('user', $user_id)->messages->find_all();
foreach($messages as $message) {...}

2. メッセージの所有者を取得します。

$user = ORM::factory('message', $message_id)->user; // without find_all()!

3. メッセージのコメントを取得します。

$comments = ORM::factory('message', $message_id)->comments->find_all();
foreach($comments as $comment) {...}
于 2011-06-10T18:21:30.990 に答える