subscribe.php 3.28 KB
<?php
/**
 * Created by PhpStorm.
 * User: Alex Savenko
 * Date: 01.12.2016
 * Time: 18:35
 */

namespace models;


class subscribe extends \db
{
    public function getAllData()
    {

        return $this->get(
            '
                SELECT subscribe.* FROM
                    public.subscribe
                ORDER BY
                     date ASC
            '
            ,
            [
            ],
            -1
        );
    }

    public function getOneData($id)
    {
        return $this->get(
            '
                SELECT *
                FROM public.subscribe
                WHERE
                    id = :id
            ',
            [
                'id'     => $id
            ],
            -1
        );
    }

    public function getOneDataByEmail($email)
    {

        return $this->get(
            '
                SELECT * FROM
                    public.subscribe
                WHERE
                    email = :email
            ',
            [
                'email'     => $email
            ],
            -1
        );
    }

    public function deleteData($id){
        return $this->exec(
            '   DELETE
                FROM
                    public.subscribe
                WHERE
                    id  = :id
            ',
            [
                'id'     => $id
            ]
        );
    }

    public function addData($data)
    {

        return $this->get(
            '
                INSERT INTO
                    public.subscribe
                        (
                            name,
                            email,
                            date

                        )
                        VALUES
                        (
                            :name,
                            :email,
                            CURRENT_TIMESTAMP
                        )
                        RETURNING id
            ',
            [
                'name'             => $data['name'],
                'email'             => $data['email']
            ],
            -1
        );
    }

    public function updateData($data,$id)
    {

        return $this->exec(
            '
                UPDATE
                    public.subscribe
                SET
                            name = :name,
                            email = :email
                            greeting = :greeting
                WHERE
                    id              = :id
            ',
            [
                'name'         => $data['name'],
                'email'      => $data['email'],
                'greeting'      => $data['greeting'],
                'id' => $id
            ]
        );
    }

    public function updateGreetingStatus($id)
    {

        return $this->exec(
            '
                UPDATE
                    public.subscribe
                SET
                            greeting = 1
                WHERE
                    id              = :id
            ',
            [
                'id' => $id
            ]
        );
    }

    public function countData( )
    {
        return $this->get(
            '
                SELECT
                    COUNT(id) AS total
                FROM
                    public.subscribe
            ',
            [

            ],
            -1
        );
    }
}