2016-05-27 4 views
0

私はSlick 2.1を使用していて、かなり標準的なJOINをやっています。しかし、 "take()"を使用して返される行の数を制限しようとすると、コンパイルエラーが発生します。Slick - 行制限付きテーブルを結合する

問い合わせは...

​​3210

コンパイラエラー...

type mismatch; found : Iterable[String] required: scala.slick.lifted.Column[?] 

なぜ私は単にここでは、 "()を取る" で追加することはできません!

ありがとうございます!

答えて

1

実際には、式は構文的に無効です。テーブル変換のチェーンで別の呼び出しを行う前に、理解のためのガード・ステートメントを挿入しました。修正するには

.join(users) on (_.userId === _.id) if user.id === 123 
             ^Right here 
    .take(50) 

、次の3つのオプションのいずれかを持っている:

  • は、filterifを置き換える
  • またはtakeifを入れ、
  • かの結果にtakeを適用for理解度
関連する問題