简体   繁体   中英

How to Change Mysql Insert Join Query to Codeigniter Active Record

I have this query:

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','fadil@gmail.com',
        '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

Can you tell me way to change this query to codeigniter active record?

First:

$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' => 'fadil@gmail.com',
   'person_image' => 'fadil.jpg',
   'person_status' => 'aktif',
);
$this->db->insert('tbl_person', $data); 

Second:

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);

With this examples you can do the third, this is the join sintaxis:

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

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

You should read documentation documentation: https://www.codeigniter.com/userguide2/database/active_record.html

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM