php - 如何将 Mysql 插入连接查询更改为 Codeigniter Active Record

标签 php mysql codeigniter

我有这个查询:

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

你能告诉我如何将此查询更改为 codeigniter 事件记录吗?

最佳答案

第一:

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

第二:

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

关于php - 如何将 Mysql 插入连接查询更改为 Codeigniter Active Record,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40917765/

相关文章:

php - Mysql 结果作为数组

mysql - 使用 erlang mysql 模块,如何关闭数据库连接?

php - 禁止跨域飞行前选项

这个简单的表需要MySql、引擎内存、索引吗?

php - 使用查询生成器设置 mysql 用户定义变量

php - Grocery 加工: Display error message when updating database is failed

php - ltrim 从字符串 php 中剥离超出应有的内容

php - 错误插入多个值数据库 php

php - UserSpice 文件上传 带有 MySQL 下载链接

php - 对数据库中数据的操作