假设您知道文章的ID,那么可以像这样附加单个类别:
Post::find($post_id)->cats()->attach($cat_id);
或者像这样附加多个cat:
$cat_ids = array(1,2,3,4);
Post::find($post_id)->cats()->attach($cat_ids);
如果您已经将Post模型对象存储在一个变量中,比如说$post:
$post->cats()->attach($cat_id);
$cat_ids = array(1,2,3,4);
$post->cats()->attach($cat_ids);
如果您有一个单一的类别作为模型对象,比如 $model:
$post->cats()->save($model);
请注意
@Gadoma的回答。虽然不是错的,但如果您想向已有类别的帖子添加类别,则应使用attach()而不是sync()。当使用Sync()时,它将删除所有未提供给它的其他内容。
编辑:
所以,如果您正在创建新的帖子,那么您可能正在做以下事情:
$post = new Post;
$post->title = 'The title';
$post->something_else = 'Lorem';
$post->save();
//So now you have both the model object (the $post variable) and the id ($post->id).
$post->cats()->attach($cat_ids);