dart 此行不包含该表的值

eagi6jfj  于 2022-12-06  发布在  其他
关注(0)|答案(1)|浏览(117)

我正在使用Drift(摩尔)。当尝试使用leftOuterJoin获取数据样本时,会发生以下情况:我通过leftOuterJoin连接的表返回空值。即leftOuterJoin本身工作正常,但连接表中的值未被读取并返回空值。结果,我得到了一行,其中1或2列具有空值(取决于我连接的表)。没有人不面临这种情况吗?

final rows = await (select(favoritePlaces).join(
      [
        leftOuterJoin(
            cachedPlaces, cachedPlaces.id.equalsExp(favoritePlaces.placeId)),
      ],
    )).get();

parsedExpressions

mwg9r5ms

mwg9r5ms1#

1.从最后一行删除“.get()”。
1.在代码后添加以下行:
最后结果=等待行。get();
如果result.map。列表中的元素。
其中FavoritePlacesWithcachedPlaces对象类似于:

class FavoritePlacesWithcachedPlaces {

final FavoritePlaces favoritePlaces;
final CachedPlaces? cachedPlaces;

FavoritePlacesWithcachedPlaces (this.favoritePlaces, 
this.cachedPlaces);}

关键点是使用“readTableOrNull”。

相关问题