code: private function normalizeTableRowData($table, $columns)
      {
          if ($columns instanceof Query) {
              return $columns;
          }
  
          if (($tableSchema = $this->db->getSchema()->getTableSchema($table)) !== null) {
              $columnSchemas = $tableSchema->columns;
              foreach ($columns as $name => $value) {
                  if (isset($columnSchemas[$name]) && $columnSchemas[$name]->type === Schema::TYPE_BINARY && is_string($value)) {
                      $columns[$name] = new PdoValue($value, \PDO::PARAM_LOB); // explicitly setup PDO param type for binary column
                  }
              }
          }
  
          return $columns;
      }
docs: Normalizes data to be saved into the table, performing extra preparations and type converting, if necessary.
  
  @param string $table the table that data will be saved into.
  @param array|Query $columns the column data (name => value) to be saved into the table or instance
  of [[yii\db\Query|Query]] to perform INSERT INTO ... SELECT SQL statement.
  Passing of [[yii\db\Query|Query]] is available since version 2.0.11.
  @return array normalized columns
  @since 2.0.9