질문을 삭제하지 말아주세요.!
 
1
0
-1

$data['no'] = '1';

$data['subject'] = 'test';

$data['memo'] = 'test memeo';

$data['reg_time'] = time();

이런 식으로 $data값을 지정한 후에

$result = $this->connection->table('client_qa')
->insert($data);

이런 식으로 insert를 처리하도록 진행을 했습니다.

그런데, 이 INSERT작업에 대해 mysql_insert_id를 받으려고 하는데


이 부분을 진행하기가 애매하더라구요.


mysql_insert_id를 받아올 때, 저장되는 테이블인 client_qa의 실존 컬럼인 'no'를 지정해서 아래와 같이 넣었는데


$idx = $result->no;


에러가 나서 올바르게 사용하는 건지


모호해서 이렇게 글을 올려봅니다.

    CommentAdd your comment...

    1 answer

    1.  
      1
      0
      -1

      https://laravel.kr/docs/5.6/queries#inserts


      여기서 Auto-Incrementing IDs 를 확인해보시면 됩니다.

      제 기억이 맞다면 님이 데이터를 집어넣은신 방법은 생성한 row 수를 리턴했던것 같습니다. (다시 확인해보지 않아서 확실하진 않습니다 ^^;)


      어쨌든 님이 원하는것 처럼 $result가 생성된 데이터를 가지고 있는 모델이 되려면

      php artisan make:model ClientQa

      이 명령어로 ClientQa라는 모델을 만들고


      $result = ClientQa::create($data);
      
      
      $idx = $result->no;

      이렇게 사용해야 합니다.


      만약 제가 공유해드린 링크에 있는 방식은 데이터 인서트 후 auto increment 값을 받아 리턴해줍니다.

      $idx = $this->connection->table('client_qa')
      ->insertGetId($data);
        CommentAdd your comment...