1.多对多关联.如收藏.用户表users,产品表products,收藏中间表user_favorite_products.那么在用户模型下则
public function favoriteProducts() { return $this->belongsToMany(Product::class, ‘user_favorite_products‘) ->withTimestamps() //中间表时间 ->orderBy(‘user_favorite_products.created_at‘, ‘desc‘); }
收藏关联新增
public function favor(Product $product, Request $request) { $user = $request->user(); if ($user->favoriteProducts()->find($product->id)) { return []; } $user->favoriteProducts()->attach($product); return []; }
示例2:关联新增加时,附加新增其它数据
$user = App\User::find(1); $user->roles()->attach($roleId); //增加一个过期时间字段 $user->roles()->attach($roleId, [‘expires‘ => $expires]);
原文地址:https://www.cnblogs.com/bing2017/p/10849667.html
时间: 2024-11-05 23:28:43