original_string: public function whereJsonLength($column, $operator, $value = null, $boolean = 'and')
      {
          $type = 'JsonLength';
  
          [$value, $operator] = $this->prepareValueAndOperator(
              $value, $operator, func_num_args() === 2
          );
  
          $this->wheres[] = compact('type', 'column', 'operator', 'value', 'boolean');
  
          if (! $value instanceof Expression) {
              $this->addBinding($value);
          }
  
          return $this;
      }
code: public function whereJsonLength($column, $operator, $value = null, $boolean = 'and')
      {
          $type = 'JsonLength';
  
          [$value, $operator] = $this->prepareValueAndOperator(
              $value, $operator, func_num_args() === 2
          );
  
          $this->wheres[] = compact('type', 'column', 'operator', 'value', 'boolean');
  
          if (! $value instanceof Expression) {
              $this->addBinding($value);
          }
  
          return $this;
      }
code_tokens: public function whereJsonLength ( $ column , $ operator , $ value = null , $ boolean = 'and' ) { $ type = 'JsonLength' ; [ $ value , $ operator ] = $ this -> prepareValueAndOperator ( $ value , $ operator , func_num_args ( ) === 2 ) ; $ this -> wheres [ ] = compact ( 'type' , 'column' , 'operator' , 'value' , 'boolean' ) ; if ( ! $ value instanceof Expression ) { $ this -> addBinding ( $ value ) ; } return $ this ; }
docstring: Add a "where JSON length" clause to the query.
  
  @param  string  $column
  @param  mixed  $operator
  @param  mixed  $value
  @param  string  $boolean
  @return $this
docstring_tokens: Add a where JSON length clause to the query .