我们什么时候在Flutter的表中使用Companion?

时间:2019-07-25 10:30:54

标签: sqlite flutter datatables companion-object sqflite

我已经看到许多使用flutter sqfLite而不是(TableName)sCompanion的基于(TableName)s的代码。

与前者相比,使用它有什么优势?

1 个答案:

答案 0 :(得分:0)

假设您的表格名称为“任务”。

class Tasks extends Table{
 IntColumn get taskid => integer().autoIncrement()(); 
 TextColumn get title => text().withLength(min:1,max:20)();

}

此表由taskid组成,它无需用户输入即可自动递增自身。现在,如果我们要使用:

Task(
 title: data,
);

代替:

TasksCompanion(
 title: Value(data),
);

可能会出现错误,表明taskid是必需的,但未提供任何值。 因此,只要我们有一个autoIncrement值,或者说您不想填写每个字段(taskid,title等)。然后,我们使用随播广告仅向有限的字段提供值。