laravel SQL语句:完整性约束冲突:

6tr1vspr  于 2022-12-19  发布在  其他
关注(0)|答案(1)|浏览(168)

我正在尝试检查用户是否有一个订单链接到order_items表,并且该order_items表包含该产品,同时确保用户ID和订单ID相同。我该如何着手执行此操作?
我曾尝试这样做:

$verify_order = Order::where('user_id', $user_id)
                ->join('order_items', 'orders.id', 'order_items.order_id')
                ->where('order.items.product_id', $product_id)->get();

但我收到一条错误消息:

SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'user_id' in where clause is ambiguous

Orders Table
Order_items table
Products Table

gcuhipw9

gcuhipw91#

订单和orders_item都有冗余的user_id作为列。
最好是从orderrs_item中删除该列
或将表名添加到user_id

$verify_order = Order::where('orders.user_id', $user_id)
                ->join('order_items', 'orders.id', 'order_items.order_id')
                ->where('order.items.product_id', $product_id)->get();

相关问题