2016-12-01 49 views
0

我有這個疑問:如何更改Mysql的插入連接查詢到笨的Active Record

INSERT INTO tbl_person (person_name,person_gender,person_address, 
         person_placeofbirth,person_dateofbirth, 
         person_religion,person_phonenumber,person_email, 
         person_image,person_status) 
VALUES ('Fadilis', 'Male','Jl.kaliurang km 7', 
     'Solo','1991-3-24', 
     'islam','08996787262','[email protected]', 
     'fadil.jpg','aktif'); 

INSERT INTO tbl_user (username, password, person_id,role_id) 
VALUES ('Fadil', 'polisi',(select person_id FROM tbl_person 
     where person_name = 'Fadilis'), (select role_id from ref_role 
     where role_name = 'admin')); 

SELECT u.username, u.password, p.person_name , p.person_gender, 
     p.person_address, p.person_placeofbirth, p.person_dateofbirth, 
     p.person_religion, p.person_phonenumber, 
     p.person_email, p.person_status, r.role_name 
from tbl_user u 
    inner join tbl_person p on u.person_id = p.person_id 
    inner join ref_role r on u.role_id = r.role_id 

你能告訴我的方式來改變這種查詢笨活動記錄?

+0

這是3個查詢,我認爲 – RiggsFolly

+0

你可以舉個例子來執行3個查詢模型中的1個函數,因爲我是codeigniter的新手 – Ndragoonz

+0

...那麼你最好看看CodeIgniter Query Builder文檔:http://www.codeigniter.com/user_guide/database/query_builder.html?highlight=active%20record#query-builder-class – MarcM

回答

0

第一:

$data = array(
    'person_name' => 'Fadilis' , 
    'person_gender' => 'Male' , 
    'person_address' => 'Jl.kaliurang km 7', 
    'person_placeofbirth' => 'Solo', 
    'person_dateofbirth' => '1991-3-24', 
    'person_religion' => 'islam', 
    'person_phonenumber' => '08996787262', 
    'person_email' => '[email protected]', 
    'person_image' => 'fadil.jpg', 
    'person_status' => 'aktif', 
); 
$this->db->insert('tbl_person', $data); 

二:

INSERT INTO tbl_user (username, password, person_id,role_id) 
VALUES ('Fadil', 'polisi',(select person_id FROM tbl_person 
     where person_name = 'Fadilis'), (select role_id from ref_role 
     where role_name = 'admin')); 

$select = $this->db->select('select person_id')->from('tbl_person')->where('person_name', 'Fadilis'); 
$select2 = $this->db->select('select role_id')->from('ref_role')->where('role_name', 'admin'); 

$data = array(
    'username' => 'Fadil' , 
    'password' => 'polisi' , 
    'person_id' => $select->result_array(), 
    'role_id' => $select2->result_array() 
);   
$this->db->insert('tbl_user', $data); 

有了這個例子,你可以做小三,這是加入sintaxis:

$this->db->select('*'); 
    $this->db->from('blogs'); 
    $this->db->join('comments', 'comments.id = blogs.id'); 

    $query = $this->db->get(); 

你應該閱讀文檔的文檔: https://www.codeigniter.com/userguide2/database/active_record.html

+0

感謝您的幫助 – Ndragoonz

+0

在第二個我寫你的原始查詢,在我之前。我希望你能爲我投票。 – migueref

+0

我想投票給你,但它似乎我的代表不符合requarements。下次吧 – Ndragoonz