Customer table
///////////////////////////////////////////////////////////
| id[PR] | name | email |
| 10 | fabio | fab@fab.com |
| 11 | james | james@james.com |
Order table
//////////////////////////////////////////////////////////////////
| order_id[PR] | ship_to[FK] | bill_to[FK] | customer[FK] | product, total, etc
| 251 | 3 | 2 | 10 | . . .
Ship to table
//////////////////////////////////////////////////////////////////////
| customer[FK] | ship_to[PR] | label | address | city, state, zip, etc
| 10 | 3 | office | 123 main st | . . .
| 10 | 1 | home | 85 some place st | . . .
Bill to table
///////////////////////////////////////////////////////////////////////////
| customer[FK] | bill_to[PR] | label | account | billing details
| 10 | 2 | visa | AES_CRYPT(temp storage) | . . .
| 10 | 1 | mc | AES_CRYPT(temp storage) | . . .
好的,因此每位客户都可以在其帐户中存档多地址到多地付款方式。当他们下订单时,订单表存储购物车和会话信息。
我需要生成invoices
如何构建我的查询,这样当我查找订单表时,我可以看到ship to table
行和bill to table
行而不是{关联表中行的{1}}。
现在请注意,我不希望任何人编写我的代码,但是如果可以的话请给我一些阅读的链接,这将是很棒的,或者一个例子会很棒。请注意我在codeigniter上构建,所以即时使用MVC模式。
? - 所有这些查找是否应该在1个模型函数中构建,还是应该分布在模型中的多个函数中?
id
在我的return $this->db->get('order_table')->result();
#this would return all the orders in the order table .
我会预先知道这些结果,并使订单ID成为更多详情/发票页面的链接。如何将行中的值传递给模型查询以生成正确的详细信息/发票页面?
E.g。 - 因此,如果您点击订单251,您将看到一个详细信息页面,其中包含
的发票答案 0 :(得分:0)
$this->db->join('customerTable','customerTable.id = orderTable.customer');
$this->db->join('shipToTable', 'orderTable.ship_to = shipToTable.ship_to');
$this->db->join('billToTable', 'billToTable.bill_to = orderTable.bill_to');
$this->db->where('order_id', $orderId);
$result = $this->db->get('order_table');
if($result->num_rows()==1)
{
return $result->result_array();
}