Laravel枢轴关系

时间:2018-10-14 09:47:48

标签: php laravel eloquent laravel-5.2

我正在使用Laravel 5.7,并且具有以下表格

类别

id | category_name 

post_categories

id | category_id | post_id | some other fields

帖子

id | post_title

我在模型类别中属于许多关系

 public function post(){

        return $this->belongsToMany(Post::class,'post_categories','category_id','post_id')
            ->withPivot('col2', 'col3','col4');
    }


$response=Category::with('post')->get();

这将返回预期的结果,但是现在我不需要响应中的类别详细信息,因为我知道category_id,并且可以避免响应中的类别详细信息,因此可以在数据透视模型中声明关系

我的目的是按类别ID检索所有帖子

1 个答案:

答案 0 :(得分:2)

您可以在“类别”上使用select()函数来删除不必要的列。

请注意,类别表的'id'很重要,因为它在数据透视表中用作外键。

// this will only get the id of the category
// and all the post and pivot data.
$response = Category::select('id')->with('post')->get();