【发布时间】:2026-01-03 08:05:01
【问题描述】:
我想获取用户使用 Eloquent ORM 提出的所有发票。
目前,我通过user.id 从连接表UsersInvoices 中获取invoice.id,然后根据ID 循环并从Invoices 表中获取发票。
$user = Sentry::getUser();
$invoiceIDs = UsersInvoice::where('user_id', '=', $user->id)->get()->toArray();
$invoices = array();
foreach ($invoiceIDs as $key => $row) {
array_push($invoices, Invoice::find($row['invoice_id']));
}
$this->data['title'] = 'Invoices';
$this->data['invoices'] = $invoices;
/** render the template */
App::render('@invoices/pending/index.twig', $this->data);
但我认为这可以/应该由 ORM 通过建模用户和发票之间的关系来处理。
看起来我应该能够通过简单地将user.id 作为外键发布到发票表中来管理这个like so - 也许我不需要连接表,因为没有什么是独特的需要存储的关系...?
【问题讨论】:
-
是的,您绝对应该使用不同的方法,而不是为每张发票运行查询。您可以使用关系(可能没有数据透视表)。