2

まず最初に、私は php と MVC フレームワークから始めています。私はまだこれが得意ではありません。また、これをどのようにGoogle検索。

それが私の質問のタイトルがとても面白い理由でもあります

では、投稿、コメント、コメントの 3 つのモデルがあるとします。

コメントは投稿とコメント投稿者の両方に属しているため、モデルにこのコードがあり、すべて非常に単純です

class Post extends Eloquent {

    public function comments() {
        return $this->has_many('Comment');
    }
}

...

class Commenter extends Eloquent {

    public function comments () {
        return $this->has_many('Comment');
    }
}

...

class Comment extends Eloquent {

    public function commenter () { 
        return $this->belongsTo('Commenter');
    }

    public function post () {
        return $this->belongsTo('Post');
    }
}

そして、特定の投稿にコメントがある場合にのみ、コメント投稿者をリストするクエリが必要です

コメント投稿者リストを調べて、その 1 つの投稿にコメントを持っている人を見つける必要があります。(小さなデータベースを使用した小さな実験プロジェクトであるため、最適であることを心配する必要はありません)

コントローラーを使用してこれをビューに渡す方法がわかりませんCommenter::has('comments')。コメントがある人はどこにでも表示されますが、それが出発点だと思います。ドキュメントでも答えを見つけることができませんでした。

質問を十分に明確にしていない場合はお知らせください

4

2 に答える 2

1

私が望んでいたほど単純な方法はないことに気付いたので、新しい多対多の関係に進むことにしました...

追加した

public function posts () {
    return $this->belongsToMany('Post');
}

public function commenters () {
    return $this->belongsToMany('Commenter');
}

そして今、私は単に使用することができます

->with ('commenters', Post::find($post_id)->commenters()->get())

私のコントローラーで、コメント投稿者のリストを見つけます

助けてくれてありがとう、答えてくれたみんな。

于 2013-06-01T01:17:52.093 に答える