使用外键从另一个表中获取所有产品?

时间:2018-05-15 09:25:25

标签: mysql laravel

我有两个表Order_table和Invoice_table,我有Order_table的order_id,它是Invoice_table的外键。 如何在Laravel中编写查询。

2 个答案:

答案 0 :(得分:0)

如果我们假设模型的名称是InvoiceOrder,您可以使用以下代码:

$invoice = Invoice::find($invoice_id);
$orders = $invoice->orders();

答案 1 :(得分:0)

你应该尝试使用雄辩的关系来解决这类问题。您可以在此处查看参考https://laravel.com/docs/5.6/eloquent-relationships#one-to-one

正如您所说,您应该只在发票数据库表中包含_“order_id”_列。

Order.php 模型中,编写以下代码:

public function invoice()
        {
            return $this->hasOne('App\Invoice');
        }

Invoice.php 模型中,编写以下代码:

public function order()
    {
        return $this->belongsTo('App\Order');
    }

并从控制器,您可以使用eloquent查询来获取数据。例如,您可以使用以下代码获取随机3数据:

$results = Invoice::limit(3)->get();
      echo $results->order;