3 回答

TA貢獻1775條經驗 獲得超11個贊
你可以試試這個
$invoice = Invoice::where('id',$id)->with('invoice_items')->first();
return redirect()->route('your blade route name',compact('invoice',$invoice)))
您應該獲得與 invoice 相關的所有發票項目。

TA貢獻1839條經驗 獲得超15個贊
$invoice = Invoice::find($id); // Here you are getting the invoice of a certain ID
$invoice_items = InvoiceItem::all(); // You are getting all the invoices here, not for the specified Invoice
...
invoices_items您應該像這樣使用您在 Invoice Eloquent 中提供的方法
...
$invoices_items = $invoice->invoice_items;
...
沒有(),如果你確實像 with 一樣寫它,()它必須跟隨著它,get()所以它就像
$invoices_items = $invoice->invoice_items()->get();
希望這可以幫助
更新
@Rezwan 提到了->with('invoice_items')對性能有好處的方法,因為它在單個查詢中加載 invoices_item 和 Invoice 而不是兩個數據庫查詢

TA貢獻1784條經驗 獲得超8個贊
這是我的控制器
public function edit($id)
{
$invoice = Invoice::where('id',$id)->with('invoice_items')->first();
return view('invoices.edit', compact('invoice'));
}
- 3 回答
- 0 關注
- 150 瀏覽
添加回答
舉報