jeudi 14 janvier 2016

how insert sqlite zf2 apigility

how can insert on data/music.db a new record with sqlite on zend framework2? i'm using apigility for create a REST services , now i get all records but i can't insert CODE FOR GET ALL RECORDS(album resource)

   /**
     * Fetch all or a subset of resources
     *
     * @param  array $params
     * @return ApiProblem|mixed
     */
    public function fetchAll($params = array())
    {
        //return new ApiProblem(405, 'The GET method has not been defined for collections');
        return $this->mapper->fetchAll();
    }

albumMapper.php

  public function fetchAll()
    {
        $select = new Select('album');
        $paginatorAdapter = new DbSelect($select, $this->adapter);
        $collection = new AlbumCollection($paginatorAdapter);
        return $collection;
    }

with these i get all records from my db but i can't insert o my db a new record

this is my code

AlbumResource.php

 /**
     * Create a resource
     *
     * @param  mixed $data
     * @return ApiProblem|mixed
     */
    public function create($data)
    {
       // return new ApiProblem(405, 'The POST method has not been defined');
        return $this->mapper->create($data);
    }

AlbumMapper.php

use Zend\Db\Sql\Select;
 use Zend\Db\Sql\Insert;
 use Zend\Db\Sql\Sql; 
 public function create($data)
    {

/*      $newData = array(
                'id'        => $data['id'],
                'artist'    => $data['artist'],
                'title'     => $data['title']
        );

        $sql = new Sql($this->adapter);
*/
        $sql = new Insert($this->adapter);
        $sql->into('album');
        $sql->columns(array('id', 'artist', 'title'));
        $sql->values(array(
                'id'        => $data['id'],
                'artist'    => $data['artist'],
                'title'     => $data['title']
        ), $sql::VALUES_MERGE );

    }//end function

i have a error enter image description here

how create a new insert with sqlite with zf2

Aucun commentaire:

Enregistrer un commentaire