Как использовать Join in Codeigniter для обновления Query - PullRequest
0 голосов
/ 13 декабря 2018

Я дал свой код Codeigniter ниже, здесь мне нужно обновить запись, используя условия соединения.Я использовал следующий код, но показывает ошибку

$condition="a.assignto='0' and a.recstatus='1' and b.location='$location' and '$category' IN(SELECT categoryid FROM `tq_productcategory` where productid=c.productid and recstatus='1')";
$this->db->set($data);
$this->db->where($condition);
$this->db->limit($limit);
$this->db->join('tq_customer b','a.customerid=b.customerid');
$this->db->join('tq_product c','a.productid=c.productid');
$this->db->order_by("a.created_on", "asc");
$this->db->update('tq_customerservicesupport a');

Ниже моя ошибка Msg

 Unknown column 'b.location' in 'where clause'

UPDATE `tq_customerservicesupport` `a` SET `assignto` = '10' WHERE `a`.`assignto` = '0' and `a`.`recstatus` = '1' and `b`.`location` = '3227' and '1' IN(SELECT categoryid FROM `tq_productcategory` where productid = `c`.`productid` and `recstatus` = '1') ORDER BY `a`.`created_on` ASC LIMIT 1

Filename: D:/wamp/www/tooquik/system/database/DB_driver.php

1 Ответ

0 голосов
/ 14 декабря 2018

Попробуйте:

$sql = "UPDATE tq_customerservicesupport AS a JOIN tq_customer AS b ON a.customerid = b.customerid JOIN tq_product AS c ON  a.productid = c.productid SET $data WHERE $condition ORDER BY a.created_on ASC LIMIT $limit";
$this->db->query($sql);

Убедитесь, что запрос правильный, потому что я просто написал его на основе ваших данных, и лучше проверить его в phpmyadmin, чтобы убедиться, что он работает без ошибок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...