0
그래서 두 테이블이 있습니다 : posts
및 categories
입니다. 다 - 대 - 다 관계입니다 : 게시물에는 많은 카테고리가 있고 카테고리는 많은 게시물에 속합니다.간략한 쿼리 : 다른 모델과의 관계를 기반으로 결과 필터링
내가 특정 category
있는 모든 posts
을 얻으려면 Category.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Category extends Model
{
protected $fillable = ['name', 'slug'];
public function posts()
{
return $this->belongsToMany('App\Post');
}
}
Post.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
public function categories()
{
return $this->belongsToMany('App\Category');
}
}
: 다음의 관계를 설명하는 모델은 다음과 같습니다 : tips
내가 뭘하려 :
$tips = Category::where('name', 'Tips')->posts()->with('categories')->take(4)->get();
나는이 쿼리에서 무지의 수준을 잘 모르겠지만, 솔직히 그것이 작동 할 것으로 예상. 그렇지 않았습니다.
도움을 주시면 감사하겠습니다.