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>
這似乎已經奏效! – gkl