(讨论)怎样较好的判断多对多关联关系中指定的关联是否已存在

浏览:412 发布日期:2017/04/03 分类:ThinkPHP5专区
现有用户表(user),商品表(goods),关注表(favorite),用户可以关注多个商品,商品可以被多个用户关注,所以他们是多对多关系,中间表是 favorite。

现在我获得了一个商品ID,一个用户ID,想知道商品有没有被该用户关注,怎样才能较好的实现?

方法1:
$mGoods->favorite()->where('user_id', $user['id'])->find();
先获得商品模型,再通过关联关系得到用户数据。我觉得这个弯转得太大了。

方法2:
创建中间表模型 Favorite.php 文件.
Favorite::where('goods_id', $goodsId)->where('user_id', $userId)->find();
用该模型的 find() 方法查询数据是否存在,这样比较直接,但没有利用起多对多关联这一特性。

应该采用以上哪个方法,还是有其他更好的方法?
最佳答案
评论( 相关
后面还有条评论,点击查看>>