首页 > 解决方案 > 如何在 laravel 中连接查询

问题描述

我有一个查询在尝试将整数与查询连接时出错。

    $order_id = Order::find($id);
    $orderid = $order_id['order_id'];

    $shipping_address = DB::table('shipping_addresses')->where('user_id', $user_id)->get();
    $order_products =  DB::select('SELECT * FROM orders JOIN order_products ON orders.id = order_products.order_id WHERE order_id ='.$orderid );

我如何连接$orderid?谢谢

标签: phplaravel

解决方案


在使用 Stackoverflow 之前,您应该学习如何调试(简单)代码。

这一行:

$order_id = Order::find($id);

如果你调试 $order_id,你会看到它是一个 Eloquent 模型,而不是一个整数。该find()方法返回模型,而不仅仅是 ID。

那么,你为什么要从ID中查询来收集ID?!

只需使用:

DB::select('SELECT * FROM orders 
     JOIN order_products ON orders.id = order_products.order_id 
     WHERE order_id ='.$id);

推荐阅读