Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Codeigniter 2 $ this-> db-> tham gia được sử dụng với $ this-> db-> cập nhật

Được rồi, tôi đã quản lý để tìm ra một giải pháp "sạch", sử dụng phép nối, bộ của codeigniter, v.v. Vì vậy, điều thú vị là bạn sẽ có tất cả lợi ích của CI khi sử dụng $ this-> db-> join (), $ this-> db-> join (), v.v. như thoát và thêm dấu ngoặc kép.

Vì vậy, trước tiên hãy làm tất cả những thứ CI của bạn:

$this->db->join(..) // Set all your JOINs
$this->db->set(..) // Set your SET data
$this->db->where(..) // Set all your WHEREs

Sau đó, bạn có thể tạo truy vấn bằng cách sử dụng các phần tử truy vấn đã sẵn sàng, được làm sạch và đã thoát của Active Record:

// JOIN
$sql = "UPDATE $this->baseTable ";
$sql .= implode(' ', $this->db->ar_join);

// SET
$sql .= ' SET';
$setArray = array();
foreach ($this->db->ar_set as $column=>$newValue)
    array_push($setArray, " $column = $newValue");
$sql .= implode(',', $setArray);

// WHERE
$sql .= ' WHERE '.implode(' ', $this->db->ar_where);

$this->db->query($sql);

Nếu ai đó có giải pháp tốt hơn, tôi sẽ sẵn lòng chấp nhận và sử dụng nó thay thế




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. iOS Đăng hình ảnh và dữ liệu lên Cơ sở dữ liệu PHP mySQL

  2. Hiển thị tiến trình điền Tập dữ liệu từ MySQL

  3. Các cách thay thế để tránh giới hạn mã địa lý với Google Maps

  4. Tổng Chênh lệch Ngày Nhiều Hàng Mysql

  5. Cập nhật Yii2 QueryBuilder với Tham gia