我将实体保存在数据库中。
public async saveTask(toDoDto: CreateToDoDto) {
try {
const toDo: ToDo = this.todosRepository.create(toDoDto);
return await this.todosRepository
.createQueryBuilder()
.insert()
.into(ToDo)
.values(toDo)
.execute();
} catch (err) {
this.logger.error(err.message);
throw new WsException(err.message);
}
}
将实体保存到数据库时,希望将其返回给我。
如何获取数据库中刚刚保存的实体?
return await this.todosRepository
.createQueryBuilder()
.insert()
.into(ToDo)
.values(toDo)
.returning('*')
.execute();
由于出现错误,我无法使用return函数。
仅Microsoft SQL Server或PostgreSQL数据库支持OUTPUT或RETURNING子句。
当我插入没有返回功能的数据库时,得到以下响应。
InsertResult {
identifiers: Array(1),
generatedMaps: Array(1),
raw: OkPacket
}
在这个答案中,没有我写入数据库的实体。
如果返回函数不能正常工作,如何将记录的实体放入数据库中?
答案 0 :(得分:0)
(MySQLi面向对象)
$last_id = $conn->insert_id;
// $ conn是与sql的连接
(MySQLi程序)
$last_id = mysqli_insert_id($conn);
(PDO)
$last_id = $conn->lastInsertId();