db = $connection; parent::__construct($config); } /** * Select ID of model, which will be modified or deleted * * @param int $id * * @return \artbox\odoo\components\Builder */ public function addId(int $id): Builder { $this->parameters[ 0 ][] = $id; return $this; } /** * Set $param of model, which will be created or modified * * @param string $param * @param string|array $value * * @return \artbox\odoo\components\Builder */ public function setParam(string $param, $value): Builder { $this->parameters[ 1 ][ $param ] = $value; return $this; } /** * Generate create command * * @param string $model * * @return \artbox\odoo\components\Command */ public function create(string $model): Command { return $this->db->createCommand($model, 'create', [ $this->parameters[ 1 ] ]); } /** * Generate update model * * @param string $model * * @return \artbox\odoo\components\Command */ public function update(string $model): Command { return $this->db->createCommand($model, 'write', $this->parameters); } /** * Generate delete model * * @param string $model * * @return \artbox\odoo\components\Command */ public function delete(string $model): Command { return $this->db->createCommand($model, 'unlink', [ $this->parameters[ 0 ] ]); } /** * Clear builder * * @return \artbox\odoo\components\Builder */ public function clear(): Builder { $this->parameters = [ [], [], ]; return $this; } }