2017-04-20 57 views

回答

1

有幾種使用PommBundle在數據庫中插入數據的方法。

如果不使用模型管理器和要執行自定義插入:

// in the controller 
$this->get('pomm') 
    ->getDefaultSession() 
    ->getQueryManager() 
    ->query('INSERT INTO … VALUES ($*::text, $*::int4…)', [$param1, $param2]); 

這種方法是繁瑣的,因爲你必須指定由手的所有領域,它可能會破壞如果模式更改,但可以使用SQL雜技指定複雜的插入查詢。

如果目標僅僅是保存模型,模型管理器簡化了數據的使用實體插入:

use Path\To\Model\MyDb\MySchema\MyEntityModel; 

// … 
$entity = $this->get('pomm') 
    ->getDefaultSession() 
    ->getModel(MyEntityModel::class) 
    ->createAndSave(['field1' => $param1, …]); 

返回的實體與數據庫的默認值插入數據的圖像(大部分時間是自動生成的主鍵)。

這裏是關於它的the documentation

+0

工作正常,如果我在symfony中使用「getModel」而不是「getModelManager」 – Hayu

+0

Thx,錯字固定。 – greg