Codeigniter-将数据更新/插入多个表

时间:2018-08-12 12:55:42

标签: php sql codeigniter model

表一:服务, 表二:serviceImg

服务表具有一列作为serviceImg。服务表的此serviceImg列等于serviceImg表的serviceImgId。因此,我已经完成了这些表之间的内部联接。

摘要: 简而言之,我想从两个表中获取数据,插入两个表中,一次更新两个表。

我该怎么做?

这是我的模特

public function update_services($serviceId,$data)

    {

        $this->db->select('

        serviceImg.serviceImgId,
        serviceImg.serviceImgName,
        service.serviceId,
        service.serviceType,
        service.serviceCat,
        service.serviceNameEn,
        service.serviceNameAr,
        service.serviceDescEn,
        service.serviceDescAr,
        service.servicePrice,
        service.servicePack,
        service.serviceCreateUser,
        service.serviceCreateDate,
        service.serviceEditUser,
        service.serviceEditDate,
        service.serviceImg,
        service.serviceStatus,
        serviceCat.serviceCatId,
        serviceCat.serviceCatNameEn,
        serviceCat.serviceCatNameAr,
        serviceCat.serviceCatType,
        serviceCat.serviceCatCreateUser,
        serviceCat.serviceCatCreateDate,
        serviceCat.serviceCatEditUser,
        serviceCat.serviceCatEditDate,
        serviceCat.serviceCatActive
        ');



        $this->db->from('serviceImg');
        $this->db->set('serviceImg.serviceImgId = service.serviceImg');
        $this->db->join('service', 'serviceImg.serviceImgId = service.serviceImg', 'LEFT');
        $this->db->join('serviceCat', 'service.serviceCat = serviceCat.serviceCatId', 'LEFT');

        $this->db->where('serviceId', $serviceId);
        $this->db->where('service.serviceImg = serviceImg.serviceImgId');
        $this->db->update('service', $data);


    }

我在等待你的答案。

1 个答案:

答案 0 :(得分:0)

您可以使用codeigniter的TRANSACTION

$this->db->trans_start();
$this->db->query('AN SQL QUERY...');
$this->db->query('ANOTHER QUERY...');
$this->db->query('AND YET ANOTHER QUERY...');
$this->db->trans_complete();

这是link

或者您可以使用ajax插入或更新多个表。