我在zend框架中的应用,symfony,doctrine。
在我的网络应用程序中有多个客户端,它们的实体如产品和与其他实体相关的产品。以下是我的问题:
用户表(客户):
id Name
----------------
1 A
2 B
产品表:
id Name
-------------
1 Product-1
2 Product-2
3 Product-3
UserProduct表:
id user_id product_id
1 1 1
2 1 2
3 2 3
客户'A'登录后去编辑产品,网址:xyz.com/product?id=1
现在客户'B'在登录后编辑产品,网址:xyz.com/product?id=1
因此客户'B'不应编辑产品ID = 1。
是否可以进行一般功能?
答案 0 :(得分:0)
是。您可以限制客户端'B'不应编辑产品ID = 1.您可以使用连接来获取记录表格表。您必须在会话中维护user_id
SELECT * FROM product p LEFT JOIN userproduct up ON (p.id == up.product_id) WHERE p.id = '1' AND up.user_id = $_SESSION['user_id'] ;
这不允许查看其他客户端产品到当前客户端。