2014-01-26 71 views
1

不同的字段名稱連接表我有如下表使用雜貨店CRUD

CREATE TABLE IF NOT EXISTS `maintrequests` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `propID` int(11) DEFAULT NULL, 
    `landlordID` int(11) NOT NULL, 
    `subject` varchar(45) DEFAULT NULL, 
    `message` varchar(200) DEFAULT NULL, 
    `status` varchar(50) DEFAULT NULL, 
    PRIMARY KEY (`id`) 
) 

CREATE TABLE IF NOT EXISTS `users` (
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT, 
    `email` varchar(45) DEFAULT NULL, 
    `firstname` varchar(45) DEFAULT NULL, 
    `lastname` varchar(45) DEFAULT NULL, 
    `created` datetime NOT NULL, 
    `modified` datetime NOT NULL, 
    PRIMARY KEY (`id`) 
) 

我很新的雜貨店CRUD和遇到問題連接這兩個表。加入將是maintrequests.landlordID = users.id。所有的雜貨店CRUD網站的實例加入其中,在相關領域具有相同的名稱

我發現this答案表,但他甚至說:「這是荒謬的」

我的控制器代碼

public function test(){ 
    $crud = new grocery_CRUD(); 
    $crud->set_subject('Maintenance Requests')->set_table('maintrequests')->columns('subject','created','status'); 
    $this->data['maintlist'] = $crud->render(); 


    $this->data['title'] = 'Maintenance Test'; 
    $this->load->view('global/_layout_main_test',$this->data); 
} 

我的模型的功能,我試圖轉換成雜貨店

public function get_all_for_landlord_table($landlordid){ 
    return $this->db->select('maintrequests.subject,maintrequests.created,maintrequests.status,maintrequests.message,properties.address,units.unitnum')->order_by('maintrequests.created','asc')->from('maintrequests')->join('properties','maintrequests.propid = properties.id')->join('units','maintrequests.unitid = units.id')->where(array('maintrequests.landlordID'=>$landlordid))->get()->result(); 
} 
+1

你可以添加你的模型代碼嗎? –

+0

添加控制器和型號代碼 – mhopkins321

+0

您是否收到任何錯誤? –

回答

1

試試這個代碼。我沒有測試。

public function get_all_for_landlord_table($landlordid){ 

    $crud = new grocery_CRUD(); 
    $crud->set_table('maintrequests'); 
    $crud->set_relation('maintrequests.propid','properties','properties.id'); 
    $crud->set_relation('maintrequests.unitid','units','units.id'); 
    $crud->where('maintrequests.landlordID',$landlordid); 
    $output = $crud->render(); 

} 
+0

所以,你不能加入不同的字段名稱而不創建模型? – marifrahman

+0

@marifrahman,沒有創建模型,你不能使用上面的代碼.. –

0

我有同樣的問題。只要使用此:

$crud->set_table('maintrequests'); 
$crud->set_relation('**landlordID**','**users**','**firstname**'); 

如果**users**表不具備**landlordID**鍵,雜貨店得到**users**表的PRIMARY KEY