sqlite - 参数类型“int”不能分配给参数类型“Expression”'
问题描述
我正在使用moor_flutter包与颤振应用程序上的 sqlite 数据库进行交互。我试图将明天解析为一个月中的天数。例如今天的日期是24
,因此我25
在 moor_flutter 的isSmallerOrEqual()
方法中解析为明天。目的是将 25 解析为 inruntimetype **Expression<int, IntType>**
但我将其解析为runtimetype **int**
,这是因为我不知道如何转换int
为Expression<int, IntType>
. 我尝试了一些不同的方法,但没有一个成功。
下面是我正在执行此操作的功能。
Future NearDueDate() {
// final DateTime currentDate = new DateTime.now();
var dayToday = currentDate.day;
var tommorow = int.parse(dayToday.toString()) + 1;
return (select(the_records)
..where((t_r) => t_r.due_date.day.isSmallerOrEqual(tommorow)))
.get();
}
请注意这里的问题是我如何转换int
为Expression<int, IntType>
这样我不会得到任何错误t_r.due_date.day.isSmallerOrEqual(tommorow)
?
谢谢,用爱发帖。
解决方案
对不起,我不能评论这个答案。
如果Expression
是某种模型。您必须通过创建Expression
.
以此为例:
我们有一个模型,User
class User {
int _id;
String _name;
User(this._name);
User.withId(this._id, this._name );
int get id => _id;
String get name => _name;
set name(String newName) {
if (newName.length <= 255) {
this._name = newName;
}
}
// Convert a User object into a Map object
Map<String, dynamic> toMap() {
var map = Map<String, dynamic>();
if (id != null) {
map['id'] = _id;
}
map['name'] = _name;
return map;
}
// Extract a User object from a Map object
User.fromMapObject(Map<String, dynamic> map) {
this._id = map['id'];
this._name = map['name'];
}
}
所以这是这里的重点
要创建一种类型,User
我们会做这样的事情
user = User('John');
现在的类型user.name
是User<String>
通常,'John'
只是一个字符串。现在它是 User 类的一部分。这是User<String>
推荐阅读
- python - Python NumPy 矢量化以减少处理时间
- node.js - 如何使用快速会话检测第一个连接
- javascript - 如果实例未分配给变量,则从全局范围访问 Vue 实例?
- node.js - 为什么“npm 运行
“在任何地方都不起作用? - java - 使用 foreach 循环时没有 ConcurrentModificationException
- r - 使用 dplyr 查找具有相同值的下 2 行并将行粘贴到原始条目后面的新列中
- php - 无法打开流/vendor/phpoffice/phppresenation/vendor/composer/../symfony/polyfill-mbstring/bootstrap.php
- python - 在 Flask 中调用重定向时获取意外的关键字参数“mimetype”
- javascript - 在圆圈内裁剪 base64 图像数据
- nlp - Spacy 的火炬使用——带有标准数据集的奇怪错误