私は楽しみのためのブログを構築しています。私のブログには、ユーザー、投稿、および定義済みカテゴリの固定リストがあります。投稿カテゴリとユーザーの設定でLaravelのブログを構築する
1)投稿は多くのカテゴリに属します。 2)ユーザーはカテゴリ設定を指定できるため、多くのカテゴリに属します。
私は、これは多対多の関係のシリーズとして設定している:User.php
で
:Post.php
で
/**
* A user belongs to many categories
*/
public function categoryPreferences()
{
return $this->belongsToMany('App\Category');
}
:
/**
* A Post Can Have Many Likes
*
* @return \Illuminiate\Database\Eloquent\Relations\belongsToMany
*/
public function categories()
{
return $this->belongsToMany('App\Category');
}
そして各の逆数Category.php
:
/**
* A category belongs to many users
*/
public function users()
{
return $this->belongsToMany('App\User');
}
/**
* A category belongs to many posts.
*
* @return \Illuminiate\Database\Eloquent\Relations\belongsToMany
*/
public function posts()
{
return $this->belongsToMany('App\Post');
}
私はそれぞれの関係をサポートするために対応するcategory_post
とcategory_user
の結合テーブルを持っています。しかし、私はこれについて間違って考えているかもしれません。
ユーザーが指定したカテゴリに属する投稿のループを表示したいが、それを行う方法では作業できない。
$categories = $user->categoryPreferences->pluck('id');
と投稿のために同じことを行うことができます:私は簡単で、ユーザーのカテゴリの嗜好を収集することができ
$categories = $post->categories->pluck('id')
をしかし、私は一緒に2つのコレクションをマージする方法がわかりませんよ。私は多型を調べましたが、それは全く正しいとは思われません。誰かが正しいコンセプトに向かって私を向けることができますか?