Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从数据库中的json加载数据+;Zend框架_Php_Database_Json_Zend Framework - Fatal编程技术网

Php 从数据库中的json加载数据+;Zend框架

Php 从数据库中的json加载数据+;Zend框架,php,database,json,zend-framework,Php,Database,Json,Zend Framework,我想将JSON文件中的数据加载到表中。(使用Zend框架) 这是我的JSON文件标记: { "wijken": { "11": { "coords": "3.79073170001967,51.1717753664505,0 3.79020920176376,51.1723018883706,0 3.78989543642226,51.1729670713336,0 3.78983091856725,51.1736482209016,0 3.790

我想将JSON文件中的数据加载到表中。(使用Zend框架)

这是我的JSON文件标记:

{
    "wijken": {
        "11": {
            "coords": "3.79073170001967,51.1717753664505,0 3.79020920176376,51.1723018883706,0 3.78989543642226,51.1729670713336,0 3.78983091856725,51.1736482209016,0 3.79035112720225,51.174896701853",
            "id": "kml_1",
            "fid": "0",
            "wijziging": "Ja",
            "nieuwnr": "11",
            "naam": "Noordoost",
            "wijk": "Kanaaldorpen en -zone",
            "wijknr": "11",
            "objectid": "1",
            "area": "0",
            "len": "0"
        }
}
我知道如何使用clear php实现这一点:(而且它很有效)

带有getter和setter的District.php:

class Backoffice_Model_District extends Ahs_Model_Abstract
{
    protected $coords;

    protected $id;

    protected $fid;

    protected $wijziging;

    protected $nieuwnr;

    protected $naam;

    protected $wijk;

    protected $wijknr;

    protected $objectid;

    protected $area;

    protected $len;


    public function getCoords()
    {
        return $this->coords;
    }

    public function setCoords($coords)
    {
        $this->coords = $coords;
    }

    public function getId()
    {
        return $this->id;
    }

    public function setId($id)
    {
        $this->id = $id;
    }

    public function getFid()
    {
        return $this->fidid;
    }

    public function setFid($fid)
    {
        $this->fid = $fid;
    }

    public function getWijziging()
    {
        return $this->wijziging;
    }

    public function setWijziging($wijziging)
    {
        $this->wijziging = $wijziging;
    }

    public function getNieuwnr()
    {
        return $this->nieuwnr;
    }

    public function setNieuwnr($nieuwnr)
    {
        $this->nieuwnr = $nieuwnr;
    }

    public function getNaam()
    {
        return $this->naam;
    }

    public function setNaam($naam)
    {
        $this->naam = $naam;
    }

    public function getWijk()
    {
        return $this->wijk;
    }

    public function setWijk($wijk)
    {
        $this->wijk = $wijk;
    }

    public function getObjectid()
    {
        return $this->objectid;
    }

    public function setObjectid($objectid)
    {
        $this->objectid = $objectid;
    }

    public function getArea()
    {
        return $this->area;
    }

    public function setArea($area)
    {
        $this->area = $area;
    }

    public function getLen()
    {
        return $this->len;
    }

    public function setLen($len)
    {
        $this->len = $len;
    }


}
现在我有了一个DistrictMapper.php,但是如何实现代码来加载数据库中json的所有内容呢

我现在所拥有的:

protected $_dbTable;

public function __construct()
{
    $this->_dbTable = new Backoffice_Model_DbTable_Districts();
}

public function fetchAll()
{
    $rowset = $this->_dbTable->fetchAll();

    $districts = $this->_toObjects($rowset);

    return $districts;
}
现在我需要做save和toobject

public function save(Backoffice_Model_Admin $admin)
    {
        $data = array('coords'  => $district->getCoords(),
                  'id' => $district->getId(),
                  'fid'      => $district->getFid(),
                  'wijziging'   => $district->getWijziging(),
                  'nieuwnr'   => $district->getNieuwnr(),
                  'naam'   => $district->getNaam(),
                  'wijk'   => $district->getWijk(),
                  'wijknr'   => $district->getWijknr(),
                  'objectid'   => $district->getObjectid(),
                  'area'   => $district->getArea(),
                  'len'   => $district->getLen(),
    );
    }

    protected function _toObject(Zend_Db_Table_Row_Abstract $row = null)
    {

    }
从Zend文档中,并根据其他已发布的表格信息进行调整:

public function save(Backoffice_Model_Admin $admin){ 
  $data = array(
    "fid": "0",
    "wijziging": "Ja",
    "nieuwnr": "11",
    // other data from $admin...
  );
  $table = new Backoffice_Model_DbTable_Districts();
  $table->insert($data);
}

构建你的数组;把它传过来。

那么,你的问题是“如何制作映射器?”你能发布你已经尝试过的吗?但是我展示的json只是我json的一小部分。。。。完整的json可以在这里找到:
public function save(Backoffice_Model_Admin $admin)
    {
        $data = array('coords'  => $district->getCoords(),
                  'id' => $district->getId(),
                  'fid'      => $district->getFid(),
                  'wijziging'   => $district->getWijziging(),
                  'nieuwnr'   => $district->getNieuwnr(),
                  'naam'   => $district->getNaam(),
                  'wijk'   => $district->getWijk(),
                  'wijknr'   => $district->getWijknr(),
                  'objectid'   => $district->getObjectid(),
                  'area'   => $district->getArea(),
                  'len'   => $district->getLen(),
    );
    }

    protected function _toObject(Zend_Db_Table_Row_Abstract $row = null)
    {

    }
public function save(Backoffice_Model_Admin $admin){ 
  $data = array(
    "fid": "0",
    "wijziging": "Ja",
    "nieuwnr": "11",
    // other data from $admin...
  );
  $table = new Backoffice_Model_DbTable_Districts();
  $table->insert($data);
}