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

안녕하세요. 한 가지 더 여쭤보고 싶은 것이 있습니다.

$where = array('idx', '='. '1');
 
$query = DB::table("test")->where($where)->get();

 

이렇게 코드를 실행시키니 오류가 나더라구요.

 

where 변수에 조건을 넣어서 다양하게 상황에 따라 사용하고 싶은데

어떻게 해야 할지 감이 안잡힙니다.

도움 주시면 감사하겠습니다.

    CommentAdd your comment...

    1 answer

    1.  
      1
      0
      -1
      $where = array('idx', '='. '1');

      ===> 

      . 대신에 , 로 바꾸세용

      $where = array('idx', '=', '1');

      or

      $where = array('idx',  '1');

      1. 헤이준

        아 저게 오타인데요, 

        $where = array('idx', '=', '1');

        이게 맞습니다.

         

        말씀해주신 두개 방법 다 해봤는데도

        Undefined offset: 0 이 에러가 나네요

      2. 매그니토
        DB::table("test")->where('idx',1)->get();

        이렇게 해보시구요

        table shema  올려봐주세요

      3. 헤이준

        DB::table("test")→where('idx', 1)→get();

         

        이건 잘 됩니다만... 변수를 넣으면 안되네요

         

        table 스키마는 아래와 같습니다.

        CREATE TABLE test (
        idx integer primary key,
        text varchar(255),
        date date);

      4. 매그니토
        $where = [
            ['idx', '=', '1']
        ];
         
        $query = DB::table("test")->where($where)->get();

         

        https://laravel.com/docs/5.3/queries#where-clauses

         

         

         

      5. 헤이준

        네 저도 전에 보고 array() 로 한거였는데

        조금 생각해보니깐 array()안에 array() 하나 더 넣어야 할 것 같아서

        지금 해보니 해결했습니다.

        array(array('idx', '=', '1')) 로 변경하고 해보니 잘 되네요.

         

      6. 헤이준

        도움주셔서 감사합니다!

      7. 김주원

        메서드 프로토타입을 다시 한번 확인해 주세요.

        정식 용법은 2차원 array가 아니라, where('column', 'operator', 'value'); 입니다.

        https://laravel.com/api/5.3/Illuminate/Database/Eloquent/Builder.html#method_where

      8. 헤이준
        $where = [
            ['idx', '=', '1']
        ];

        이 개념자체가 2차원 배열 아닌가요...?

      CommentAdd your comment...