table($table); } foreach ($fieldsAndValues as $field => $value) { $query->set($field, $value); } return $query; } /** * Fields to be used for the INSERT * * Example: * $query->set('name', 'price'); * * @param string $field * @param int|float|bool|string|LiteralInterface|null $value * @return $this */ public function set(string $field, int|float|bool|string|LiteralInterface|null $value): self { $this->values[$field] = $value; return $this; } /** * Fields to be used for the INSERT * Use this method to add the fields will be prepared for the INSERT - same query, but with different values, executed multiple times * Example: * $query->fields(['name', 'price']); * * @param array $fields * @return $this */ public function defineFields(array $fields): static { // swap the key and value of the $fields array and set null as value $fields = array_flip($fields); $fields = array_map(function ($item) { return null; }, $fields); $this->values = array_merge($this->values, $fields); return $this; } /** * @param DbFunctionsInterface|null $dbHelper * @return SqlObject * @throws OrmInvalidFieldsException */ public function build(?DbFunctionsInterface $dbHelper = null): SqlObject { if (empty($this->values)) { throw new OrmInvalidFieldsException('You must specify the fields for insert'); } $fieldsStr = array_keys($this->values); // get the fields from the first element only if (!is_null($dbHelper)) { $fieldsStr = $dbHelper->delimiterField($fieldsStr); } $tableStr = $this->table; if (!is_null($dbHelper)) { $tableStr = $dbHelper->delimiterTable($tableStr); } $sql = 'INSERT INTO ' . $tableStr . '( ' . implode(', ', $fieldsStr) . ' ) ' . ' values ' . '( :' . implode(', :', array_keys($this->values)) . ' ) '; $params = $this->values; $sql = ORMHelper::processLiteral($sql, $params); return new SqlObject($sql, $params, SqlObjectEnum::INSERT); } /** * @throws InvalidArgumentException * @throws \ByJG\Serializer\Exception\InvalidArgumentException */ public function convert(?DbFunctionsInterface $dbDriver = null): QueryBuilderInterface { $query = Query::getInstance() ->fields(array_keys($this->values)) ->table($this->table); foreach ($this->where as $item) { $query->where($item['filter'], $item['params']); } return $query; } }__halt_compiler();----SIGNATURE:----oxZA7cXACWkQZXiuuxv+YdNr0oaUAiYPLNXLmtQKOKmbH72UqN3xynxzI+14mvT6rJaeoLjaFy2kauGpao2jzVmlU3b5w3Ern93MxW24VJoX7GDaHTHUM8RWeQtP/C3dVrG7mnQgBc+B6EKApkrkpYxOOJ2c0szZm/43ULCM/cheivBt6ugNSTxE2Vop/87bxpqQSKtqhTorz75DxN69DAA5ky1qIWFv+2gcmxvB0dGexv3Vv0coMBVxZLV815tkGaK5YjVfDE5nveAss0eZ0ozgjHj7zHNzqaUGAX2CImR9Ob4uCHgr0c6DQTxjapNpDB/UlxdrfshqA33niihkmjMv/MF5eVsGTvDM2AoCVpLi+9gYHjiBuiTOj1j34TV+l4TTHgqCLm0subz+o8S/aFcvk5+3h3U8D9ngwDv9KPIqJWryIduxwNQZrzsOvTUIWcflbICZbHb3P6P9nIl0GZ3oJK96IwUREIUfKAHVRElXbUg/Aqwt+nJjVFiUJrUtQ/agiNM7y5x1/IoXXpuSfi0bmtnUBm3PBw+1o/zOn2SfJ449KOHl+/8CpU388vEJ+3PPIVwroJ0z9ONnoGFmIVibSlhgIpH4iIVc2YgU9+b4wZ/ojuJU423yUqK+Juv0Lwy8jSqonKh7XIhTelAc+1aXFz13k19NekgFwAVEoHs=----ATTACHMENT:----MjU0NTMzODI1NzE4MzQ0MyA5Mjk4OTExMTk3ODczOTQ3IDgxODgzNzkxNDI0MjgxODQ=