• 18-02-2022, 22:38:27
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    laravel + flutter bir mobil uygulamamız var, gördüğünüz gibi app içerisinde arama sonucunda domain/api/foods?search=ARANAN;&searchFields=name:like;&limit :70; şeklinde sorgu oluşuyor ve json ile parçalayıp ekrana datayı basıyor.

    normalde _queryParams['searchFields'] = 'name:like;description:like;'; şeklindeydi. ürünleri A'dan Z'ye adında "veya" açıklamasında arama kelimesi geçenlere göre çıkartıyordu haliyle sonuçlar bazen çok anlamsız olabiliyordu.

    sonuçları name:like; olarak, ardından da description:like; olarak sıralı çıkarmak istiyoruz.

    önce name'de arasın, ardından açıklamada arasın ona göre listelesin yani.
    bunun için de şuraya kadar getirebildim -> https://paste.ofcode.org/XMn7f6WGcRb4L46xLDg8Ne

    streamedRest ve streamedRest2'yi sıralı olarak map'a gönderip parçalatmam gerekli, o satır hakkında yardımcı olabilecek var mıdır?
  • 20-02-2022, 01:36:23
    #2
    streamedRest den gelen json datayı https://app.quicktype.io/ gibi bir siteden modelleyerek bir model ataması yapabilir. Ardından streamedRest2 için de aynı şeyi yaptıktan sonra streamedRest2 deki datanın data(quicktype Datum adını verebilir) kısmını birinci ile birleştirebilirsiniz.
    geriye model olarak birleştirilmiş halini dönebilirsiniz.
  • 21-02-2022, 22:08:56
    #3
    async paketi ile gelen iki ayrı datayı merge ettik ve bu şekilde çözüldü.

    paket: https://pub.dev/packages/async/versions

    kod;
    Alıntı
    return StreamGroup.merge([
    streamedRest.stream
    .transform(utf8.decoder)
    .transform(json.decoder)
    .map((data) => Helper.getData(data))
    .expand((data) => (data as List))
    .map((data) {return Food.fromJSON(data);})
    ,
    streamedRest2.stream
    .transform(utf8.decoder)
    .transform(json.decoder)
    .map((data) => Helper.getData(data))
    .expand((data) => (data as List))
    .map((data) {return Food.fromJSON(data);})
    ]);