olimsaidov / yesql-bundle
Yesql Bundle for Symfony
Installs: 351
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 2
Forks: 2
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=7.0.0
This package is auto-updated.
Last update: 2024-10-29 04:53:02 UTC
README
Step 1: Download the Bundle
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
$ composer require olimsaidov/yesql-bundle
This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.
Step 2: Enable the Bundle
Then, enable the bundle by adding it to the list of registered bundles
in the app/AppKernel.php
file of your project:
<?php // app/AppKernel.php // ... class AppKernel extends Kernel { public function registerBundles() { $bundles = array( // ... new Ox\YesqlBundle\YesqlBundle(), ); // ... } // ... }
Step 3: Configure the Bundle
Then, configure the bundle by adding the following lines
in the app/config/config.yml
file of your project:
yesql: connection: default # optional, doctrine custom connection name services: - path: "%kernel.root_dir%/../src/Acme/BlogBundle/Resources/blog.sql" # path to sql file name: "blog" # service name
Each query in your SQL file must be commented like this:
-- name: getAllPosts* -- This will fetch all rows from posts select * from posts; -- name: getPostById -- select * from posts where id = ?; -- name: insertPost -- You can use parametrized placeholder insert into post (title, body) values (:title, :body);
Query name must end with *
symbol to query multiple rows.
Step 4: Use the Bundle
Execute your queries by calling the service:
$this->get('yesql.blog')->getAllPosts(); // returns all posts as array $this->get('yesql.blog')->getPostById(3); // returns single post $this->get('yesql.blog')->insertPost([':title' => 'Hello', ':body' => 'World']); // returns last insert id