쿼리 결과를 사용하여 두 번째 테이블에 삽입-Codeigniter

뇌진탕

코드 점화기를 사용하여 응용 프로그램을 만들고 있는데 쿼리 결과를 기반으로 테이블에 행을 삽입하는 데 문제가 있습니다.

내가 원하는 것은 작업을 기반으로 작업 세트를 선택한 다음 해당 작업이 완료되었는지 여부를 기록하는 테이블에 삽입하는 것입니다.

Table Tasks
TaskID TaskGroup TaskDesc
1      WashCar    Get Bucket
2      WashCar    Fill with Water
3      WashCar    Add Soap
4      PolishCar  Get Buffer
5      PolishCar  Get Polish
6      PolishCar  Get Power Lead

따라서 사용자가하는 일은 양식을 작성하고 갈 작업 유형 (예 : Wash Car 또는 Polish Car)을 선택한 다음 제가 원하는 것은 Wash Car와 관련된 모든 작업 ID의 목록을 가져 와서 삽입하는 것입니다. 작업이 완료되었는지 여부를 기록하는 작업 테이블에 예를 들어

Work Table
WorkID TaskID TaskDate TaskComplete
1      1      01/01/2015 N
2      2      01/01/2015 N
3      3      01/01/2015 N

양식을 제출할 때 다른 모든 테이블이 채워지지만 작업 테이블이 채워지지 않습니다. 오류가 없어서 채워지지 않습니다.

이것은 현재 내 모델에있는 것입니다 (다른 Stack Overflow 질문에서 모아 놓은 것입니다).

$workDueDate = date('Y-m-d H:i:s', strtotime('14 days'));
$creator4 = $this->session->userdata('logged_in');
$wkCreator = $creator4['id']; 
$workCreator = $wkCreator;
$workCreateDate = date('Y-m-d H:i:s');
$this -> db -> select('taskid');
$this -> db -> from('task');
$this -> db -> where ('taskgroup','washcar');
$this -> db -> order_by('taskid', 'asc');
$workQuery = $this -> db -> get();
return $workQuery->result_array();
for($i=0; $i<$workQuery;$i++){
$insertWork = array(
                    'taskid' => $workQuery[$i],
                    'taskdate' => $workDueDate,
                    'taskcomplete' => 'N',
                    );
   $this->db->insert('work_w',$insertWork);
        }

보시다시피 나는 이것에 매우 익숙하며 이것이 작동하는 데 몇 가지 문제가 있습니다. 이것은 최신 반복이며 foreach 루프를 시도했지만 작동하지 않는 것 같습니다.

아무도 내가 여기서 뭘 잘못하고 있는지 또는 이것을 해결하는 가장 좋은 방법에 대한 생각이 있습니까?

감사

편집하다

업데이트 된 코드 :

$workDueDate = date('Y-m-d H:i:s', strtotime('14 days'));
$creator4 = $this->session->userdata('logged_in');
$wkCreator = $creator4['id']; 
$workCreator = $wkCreator;
$workCreateDate = date('Y-m-d H:i:s');
$this -> db -> select('taskid');
$this -> db -> from('task');
$this -> db -> where ('taskgroup','washcar');
$this -> db -> order_by('taskid', 'asc');
$workQuery = $this -> db -> get();
foreach ($workQuery as $wtid){
        $insertWork = array(
                'taskid' => $wtid['taskid'],
                'taskdate' => $workDueDate,
                'taskcomplete' => 'N',
                );
        $this->db->insert('work_w',$insertWork);
  }
아미르 라 히미 파라하니

다른 사용자가 언급했듯이 return루프 직전에 추가 권리가 있습니다.

그러나 이것은이 작업을 수행하는 올바른 방법이 아닙니다. 우선 그것은 모두 데이터와 관련이 있으므로 PHP 대신 데이터베이스의 저장 프로 시저에서 수행하는 것이 좋습니다. 둘째, 루프를 전혀 사용하지 않고도 동일한 결과를 얻을 수 있습니다.

INSERT INTO work_w
(taskid, taskdate, taskcomplete)
SELECT task_id, date_add(CURRENT_DATE, INTERVAL 14 DAY), 'N'
FROM task
WHERE taskgroup = 'washcar'
ORDER BY taskid

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

두 번째 쿼리에서 첫 번째 쿼리의 결과를 사용하는 방법은 무엇입니까?

분류에서Dev

첫 번째 쿼리 ID가 다른 테이블에서 사용되는 한 번의 클릭으로 두 테이블에 데이터를 삽입하는 방법

분류에서Dev

MYSQL : 두 테이블을 쿼리하고 두 번째 테이블의 결과를 배열에 조인

분류에서Dev

codeigniter에서 단일 쿼리를 사용하여 두 개의 별도 테이블에 데이터를 삽입하는 방법은 무엇입니까?

분류에서Dev

mysql-LAST_INSERT_ID를 사용하지 않고 첫 번째 삽입 테이블에서 자동 생성 키를 사용하여 두 테이블에 삽입

분류에서Dev

where 절에서 하위 쿼리를 사용하여 테이블에서 두 번째로 높은 날짜 선택

분류에서Dev

첫 번째 테이블에서 두 번째 테이블로 동일한 ID를 삽입하는 방법

분류에서Dev

Oracle INSERT를 하나의 쿼리로 두 테이블에 삽입

분류에서Dev

첫 번째 테이블의 행을 업데이트하고 단일 쿼리에서 두 번째 테이블에 행 삽입

분류에서Dev

mysql 쿼리를 사용하여 테이블에서 두 번째 최대 값 찾기

분류에서Dev

SQL Server : 첫 번째 삽입의 출력을 사용하여 두 번째 테이블에 삽입

분류에서Dev

두 번째 테이블에 데이터를 삽입하지 않는 SQLite

분류에서Dev

테이블로 두 번째 쿼리를 실행하여 두 번째 결과를 내 목록 상자에 추가 할 수없는 이유는 무엇입니까? SQL

분류에서Dev

두 개의 SQL 쿼리 결합. 두 번째 쿼리에서 ID를 사용하여 이름 값 가져 오기

분류에서Dev

SQL에서 조인 쿼리를 사용하여 세 번째 테이블이있는 두 개의 다른 테이블에서 두 개의 열 수 검색

분류에서Dev

codeigniter 및 innodb 엔진 mysql을 사용하여 한 번에 두 개의 테이블에 삽입

분류에서Dev

두 번째 테이블에 일부 조건이 적용된 mysql 쿼리를 사용하여 두 테이블에서 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

추가 필드를 삽입하여 첫 번째 "select"에서 반환 된 행과 두 번째 "union"쿼리에서 반환 된 행을 식별합니다.

분류에서Dev

쿼리를 사용하여 mysql의 테이블에 삽입

분류에서Dev

CodeIgniter에서 쿼리 빌더를 사용하여 두 테이블에서 데이터를 선택하는 방법은 무엇입니까?

분류에서Dev

Rails 활성 레코드 쿼리에서 조인을 사용하는 동안 두 번째 테이블의 결과를 얻는 방법

분류에서Dev

두 번째 중첩 쿼리를 사용하지 않고 "where"에서 결과 "as"를 사용하는 방법

분류에서Dev

두 테이블에서 선택하고 세 번째 테이블과 비교할 SQL 쿼리

분류에서Dev

Oracle SQL의 첫 번째 쿼리 결과를 기반으로 한 두 번째 쿼리의 UNION 테이블

분류에서Dev

두 번째 테이블이 조건과 일치하면 두 테이블을 쿼리하고 결과를 반환하는 방법

분류에서Dev

두 번째 쿼리 및 중첩 결과에서 첫 번째 mysqli 쿼리의 데이터 사용

분류에서Dev

트리거를 사용하여 두 번째 테이블 업데이트

분류에서Dev

이 두 쿼리를 결합하는 방법 : 하나의 테이블에서 복사 및 새 데이터 삽입

분류에서Dev

sed를 사용하여 두 번째 패턴에 줄을 삽입합니다.

Related 관련 기사

  1. 1

    두 번째 쿼리에서 첫 번째 쿼리의 결과를 사용하는 방법은 무엇입니까?

  2. 2

    첫 번째 쿼리 ID가 다른 테이블에서 사용되는 한 번의 클릭으로 두 테이블에 데이터를 삽입하는 방법

  3. 3

    MYSQL : 두 테이블을 쿼리하고 두 번째 테이블의 결과를 배열에 조인

  4. 4

    codeigniter에서 단일 쿼리를 사용하여 두 개의 별도 테이블에 데이터를 삽입하는 방법은 무엇입니까?

  5. 5

    mysql-LAST_INSERT_ID를 사용하지 않고 첫 번째 삽입 테이블에서 자동 생성 키를 사용하여 두 테이블에 삽입

  6. 6

    where 절에서 하위 쿼리를 사용하여 테이블에서 두 번째로 높은 날짜 선택

  7. 7

    첫 번째 테이블에서 두 번째 테이블로 동일한 ID를 삽입하는 방법

  8. 8

    Oracle INSERT를 하나의 쿼리로 두 테이블에 삽입

  9. 9

    첫 번째 테이블의 행을 업데이트하고 단일 쿼리에서 두 번째 테이블에 행 삽입

  10. 10

    mysql 쿼리를 사용하여 테이블에서 두 번째 최대 값 찾기

  11. 11

    SQL Server : 첫 번째 삽입의 출력을 사용하여 두 번째 테이블에 삽입

  12. 12

    두 번째 테이블에 데이터를 삽입하지 않는 SQLite

  13. 13

    테이블로 두 번째 쿼리를 실행하여 두 번째 결과를 내 목록 상자에 추가 할 수없는 이유는 무엇입니까? SQL

  14. 14

    두 개의 SQL 쿼리 결합. 두 번째 쿼리에서 ID를 사용하여 이름 값 가져 오기

  15. 15

    SQL에서 조인 쿼리를 사용하여 세 번째 테이블이있는 두 개의 다른 테이블에서 두 개의 열 수 검색

  16. 16

    codeigniter 및 innodb 엔진 mysql을 사용하여 한 번에 두 개의 테이블에 삽입

  17. 17

    두 번째 테이블에 일부 조건이 적용된 mysql 쿼리를 사용하여 두 테이블에서 데이터를 가져 오는 방법은 무엇입니까?

  18. 18

    추가 필드를 삽입하여 첫 번째 "select"에서 반환 된 행과 두 번째 "union"쿼리에서 반환 된 행을 식별합니다.

  19. 19

    쿼리를 사용하여 mysql의 테이블에 삽입

  20. 20

    CodeIgniter에서 쿼리 빌더를 사용하여 두 테이블에서 데이터를 선택하는 방법은 무엇입니까?

  21. 21

    Rails 활성 레코드 쿼리에서 조인을 사용하는 동안 두 번째 테이블의 결과를 얻는 방법

  22. 22

    두 번째 중첩 쿼리를 사용하지 않고 "where"에서 결과 "as"를 사용하는 방법

  23. 23

    두 테이블에서 선택하고 세 번째 테이블과 비교할 SQL 쿼리

  24. 24

    Oracle SQL의 첫 번째 쿼리 결과를 기반으로 한 두 번째 쿼리의 UNION 테이블

  25. 25

    두 번째 테이블이 조건과 일치하면 두 테이블을 쿼리하고 결과를 반환하는 방법

  26. 26

    두 번째 쿼리 및 중첩 결과에서 첫 번째 mysqli 쿼리의 데이터 사용

  27. 27

    트리거를 사용하여 두 번째 테이블 업데이트

  28. 28

    이 두 쿼리를 결합하는 방법 : 하나의 테이블에서 복사 및 새 데이터 삽입

  29. 29

    sed를 사용하여 두 번째 패턴에 줄을 삽입합니다.

뜨겁다태그

보관