所以我有两个表:posts
和categories
。这是一种多对多关系:一个帖子有很多类别,一个类别属于很多帖子。
以下是描述其关系的模型:
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');
}
}
我希望获得具有特定posts
的所有category
:tips
以下是我的尝试:
$tips = Category::where('name', 'Tips')->posts()->with('categories')->take(4)->get();
我不知道此查询中的无知程度,但老实说我希望它能够正常工作。它没有。
我会感激任何帮助。
答案 0 :(得分:0)
它真的很简单:
$tipsCategory = Category::where('name', 'tips')
->get();
$posts = $tipsCategory->posts;