mysql - 根据产品是否在用户的购物车中,在每个产品中显示适当的按钮
问题描述
我有一堆从我的数据库(MySQL)中读取的产品,我将它们存储/添加到产品类型的 ArrayList 中,然后通过适配器将此列表输出到 Recycleview。但是,显示的每个产品都有两个图像(用作按钮),其中一个是不可见的,一个是可见的。这两个按钮是添加图标和删除图标。计划是,如果产品在购物车内,则带有添加图标的图像设置为不可见,而另一个设置为可见。
我的数据库包含表products
(带有 , 等列id
)title
,users
(带有, 等列)和(带有id
, ,等列)。username
cart
id
product_id
user_id
当我最初显示所有产品的列表时,我如何知道哪些产品在用户的购物车中并分别设置每个产品的图像的可见性?
我需要执行某种加入吗?
解决方案
好吧,你可以LEFT JOIN
把products
桌子和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
购物车记录)。
推荐阅读
- c++ - SDL Window won't pop up
- django - Configuring Django Production Settings and Content Security Policy
- python - doesn't test all code when fixing my string index out range
- matlab - 在 MATLAB 中使用 parfor 对数组进行间接索引
- java - How to split the string using Pattern/Matcher with multiple occurrences of pattern?
- dask - Loading Cassandra Data into Dask Dataframe
- r - R add column to match another dataframe
- python - Python-Generating numbers according to a corellation matrix
- android - getGeofenceTransition() 在将 ResultReceiver 作为 Intent 额外传递时返回 -1
- java - 如何使用硒在谷歌浏览器中获取网络文件?