首页 > 解决方案 > 根据产品是否在用户的购物车中,在每个产品中显示适当的按钮

问题描述

我有一堆从我的数据库(MySQL)中读取的产品,我将它们存储/添加到产品类型的 ArrayList 中,然后通过适配器将此列表输出到 Recycleview。但是,显示的每个产品都有两个图像(用作按钮),其中一个是不可见的,一个是可见的。这两个按钮是添加图标和删除图标。计划是,如果产品在购物车内,则带有添加图标的图像设置为不可见,而另一个设置为可见。

我的数据库包含表products(带有 , 等列idtitleusers(带有, 等列)和(带有id, ,等列)。usernamecartidproduct_iduser_id

当我最初显示所有产品的列表时,我如何知道哪些产品在用户的购物车中并分别设置每个产品的图像的可见性?

我需要执行某种加入吗?

标签: mysqlsql

解决方案


好吧,你可以LEFT JOINproducts桌子和carts桌子放在一起:

SELECT p.id, p.title, c.id
FROM products p
LEFT JOIN carts c ON c.product_id = p.id AND c.user_id = ?

当产品不在购物车中时,c.id将是NULL(否则,它将包含id购物车记录)。


推荐阅读