我明白MVC是做什麼的。但不夠深入。代碼點火器 - 我越想明白,我越陷入困惑
<?php
class Orders_model extends CI_Model {
function __construct(){
parent::__construct();
}
private $table_name='orders';
public function get(){
$this->db->select('*');
$this->db->from('orders');
$this->db->join('orders_content', 'orders.oid = orders_content.oid');
$query = $this->db->get();
$data=array();
foreach($q->result_array() as $orders){
$data[$orders['orders.oid']] = $orders['orders_content.oid'];
}
return $data;
}
}
?>
問題是我有兩個表:orders和orders_content。我不知道如果我可以只加入兩個表並調用數組來匹配,如果訂單的oid和orders_content的oid是相同的,然後顯示相關的數據。
在視圖/ product_order.php
<table cellpadding="3" cellspacing="0" width="686">
<tr>
<th>Product ID</th>
<th>Title</th>
<th>Price</th>
<th>Qty</th>
</tr>
<?php foreach($orders as $orders){?>
<tr>
<td><?php echo $orders->product_id;?></td>
<td><?php echo $orders->title;?></td>
<td><?php echo $orders->price;?></td>
<td><?php echo $orders->quantity;?></td>
</tr>
<?php }?>
</table>
不知如何顯示我有orders.php上視圖的命令。因爲foreach $命令不能從唯一的訂單表正確嗎?我很抱歉,但是,我嘗試了一下希望快速學習的代碼點火器。 MVC再次讓我感到困惑。
編輯 一個問題:如何顯示product_order.php在瀏覽器上可見? 我更改了模型代碼 - 它看起來是否正確?
EDIT II 1)我正在尋求限制訂單隻有某些品牌。所以我想知道是否可以建立製造商表格連接?例如,製造商id = manfacturer名稱,然後僅向某個品牌顯示已售出產品的訂單。
2)Product_order.php是不可見的 - 我的意思是我嘗試了方法來查看頁面,看它是否有效,但沒有出現?
3)確定現在,我根據Daimsy
$data[$orders['orders.oid']] = $orders['orders_content.oid'];
這行編輯的代碼是一個錯誤:致命錯誤:無法使用類型stdClass的的對象作爲陣列 爲什麼不能使用對象?
感謝您快速回答..但我們不需要將兩個表格聲明爲私有? – joe 2011-06-10 10:19:49
不,在codeigniter中,它可以從config文件夾中的database.php文件中找到它(我假設你已經配置了它) – 2011-06-10 10:30:16
不,我還沒配置它。從我所看到的,我們必須在某處宣佈私人。我會弄清楚。感謝您的幫助。 – joe 2011-06-10 10:32:59