2013-06-26 42 views
0

我正在開發一個演示應用程序來評估CodeIgniter的新項目。我們目前正在審查DataMapper ORM庫 - http://datamapper.wanwizard.euDataMapper通過加入獲得結果

我碰到了一個似乎很奇怪的問題:我無法從一個返回中的2個連接表中獲取值。我爲這兩個表創建了模型,並驗證了我已正確設置了$ has_many/$ has_one。在我的控制器此代碼產生具有從指定的表格對象中的所有行的對象:

$job = new Job(); 
$data['job'] = $job->get(); //produces obj with all rows from table 'jobs' 
$acct = new Acct(); 
$data['acct'] = $acct->get(); //produces obj with all rows from table 'accts' 

我已通過遍歷它們與FOREACH和查看數據驗證以上兩者。但是當我嘗試從兩個表中拉取相關信息時。我什麼也沒得到。我已經嘗試了所有可以在GET(高級)文檔中找到的內容。具體而言,這是不工作:

//NOTE: a job has one acct joined on field 'acct_id' 
$job = new Job(); 
$data['job'] = $job->include_related('acct',array('name'))->get(); 

結果對象($數據[「工作」])只包含從「作業」表中的數據。

我認爲我使用這個代碼在一個視圖中看到的數據:

<table> 
<tr><?php foreach ($job->fields as $col) { ?><th><?= $col ?></th><?php } ?></tr> 
<?php foreach($job as $row) { ?> 
<tr><?php foreach($job->fields as $col) { ?><td><?= $row->$col ?></td><?php } ?></tr> 
<?php } ?> 
</table> 

回答

相關問題