table($table); } $query->fields($fields); return $query; } public function fields(array $fields): static { $this->fields = $fields; return $this; } public function fromQuery(QueryBuilderInterface $query): static { $this->query = $query; return $this; } public function fromSqlObject(SqlObject $sqlObject): static { $this->sqlObject = $sqlObject; return $this; } /** * @param DbFunctionsInterface|null $dbHelper * @return SqlObject * @throws OrmInvalidFieldsException */ public function build(?DbFunctionsInterface $dbHelper = null): SqlObject { if (empty($this->fields)) { throw new OrmInvalidFieldsException('You must specify the fields for insert'); } if (empty($this->query) && empty($this->sqlObject)) { throw new OrmInvalidFieldsException('You must specify the query for insert'); } elseif (!empty($this->query) && !empty($this->sqlObject)) { throw new OrmInvalidFieldsException('You must specify only one query for insert'); } $fieldsStr = $this->fields; 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) . ' ) '; if (!is_null($this->sqlObject)) { $fromObj = $this->sqlObject; } else { $fromObj = $this->query->build(); } return new SqlObject($sql . $fromObj->getSql(), $fromObj->getParameters()); } public function convert(?DbFunctionsInterface $dbDriver = null): QueryBuilderInterface { throw new InvalidArgumentException('It is not possible to convert an InsertSelectQuery to a Query'); } }__halt_compiler();----SIGNATURE:----LyfuQxWq1uFb8IfMLpUWHCeFBAetCZjy6HsGNcGqsOx8VqGbODL8loTBmPzocKFD2mrCOFSY4rbZdpsgo85FZHkOBO3yPF7rjMPIVlNTTe1k918k4YuCN8j+KQEp3YhNVulTalKKcvnC0Y9Ef67Yb8CXWw/7GX1t553rzbITPM7kLDjL5qqCVE2x4T/z5Vsm014SJsJisgUMAa1mUmxH4hwHFSaa2KJCoiCFR3eS3UQITDbk1fXESErXShKsWUGP4fHQt/xmi1+4vm+On4zAbLRj31aOjbBeCn4lXvXLFXdvBOLkVAAAHxNP9Nu7TJ4HbOjd7JCA10OHF6OM7S+2hWTV+kI0zFn1lDEgnljF0dzu3/C4lTAL1fmgsS8ot+f3ewOhwjOnySMZUmQ3ytTpIPDyOqAKiIxHbd/R58L1tmZAXsWTjQPqfmemVayDHFqaVCU7nR7PQ87c4a63CmLEVU5TGgFLCyr4mwW0o0tQSiawONlu10+N99qOOw5leA2rcGmmL4ljrwVp3AmJQOLnZLDwASsjLuTDxer+lOSvROeFGYNe7hWh6o51TA4Q1E/TJcgp5JGlkCQrXXYT1Vg20WYrA96JTWY0EXog903vJS7QCGyc0DUyIKHH8WoEHKYhEyxaDFvZ0GzxmajbyExcQ7Vh6DAl9XjeZeTCWUXgGU8=----ATTACHMENT:----MjUyMTgzMzM1NTYyNTE1NyAzMDI3NzUzODU3MDAwOTkyIDEzMDUwODQ2MzY2MTg5NTA=