laravel toggle方法

本文介绍如何使用Laravel框架中的Eloquent ORM来管理多对多关系,特别是通过toggle方法简化用户的点赞或收藏操作。文章详细解释了如何设置关联关系,并演示了在实际应用中如何实现附着(attach)、分离(detach)以及切换收藏状态的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

toggle方法主要用于多对多关系中,attach detach 比如点赞 收藏

1.user表

2.post表 title content

3.中间表 favoriate user_id post_id

4.user中定义关系

 public function favorites(){
    return $this->belongsToMany(Post::class,'favoriates'); //第二个参数中间表
}

5.关联关系

做法一:

在tinker中操作

$user = App\User::find(1);
$post = App\Post::find(2);
$user->favorite()->attach($post);
查看结果:$user->refresh()->favorite

//取消收藏
 $user->favorite()->detach($post);

做法二:toggle 不用去判断用户有没有收藏该文章 用户收藏了则取消收藏 反之则收藏

$user->favorite()->toggle($post);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值