database – Buscando ejemplo de inserción de base de datos

Pregunta:

De acuerdo con la página del manual db_insert , esta función está obsoleta y es mejor usar la conexión a la base de datos Drupal 8 para realizar la inserción.

Obsoleto

a partir de Drupal 8.0.x, se eliminará en Drupal 9.0.0. En su lugar, obtenga una conexión de base de datos inyectada en su servicio desde el contenedor y llame a insert () en él. Por ejemplo, $ base_datos_inyectada-> insertar ($ tabla, $ opciones);

Ahora, ¿cómo puedo obtener una conexión a la base de datos y llamar al método insert() ?

Respuesta:

Para inyectar el servicio de base de datos, agregue / modifique los siguientes métodos en su clase de controlador:

use Drupal\Core\Controller\ControllerBase;
use Drupal\Core\Database\Connection;
use Symfony\Component\DependencyInjection\ContainerInterface;

class PetmdController extends ControllerBase {

  protected $database;

  public function __construct(Connection $database) {
    $this->database = $database;
  }

  public static function create(ContainerInterface $container) {
    return new static(
      $container->get('database')
    );
  }

  public function foo() {
    $this->database->insert(...)->fields(...)->execute();
  }
}

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım