2017-01-10 5 views
0

私はwikiのレイアウトに続いて外人からphantomを試しています。CollectionColumnの何が問題ですか?

私はテストモデルを使用しています:

case class User (id: String, name: String, friends: List[String]) 

で:

import com.websudos.phantom.dsl._ 

class Users extends CassandraTable[Users, User] { 
    object id extends StringColumn(this) with PartitionKey[String] 
    object name extends StringCoumn(this) 
    object friends extends ListColumn[String](this) 
} 

ListColumn[String]()引数thisすることは、私は私も構築するためにわざわざはずの推測エラーとしてマークされています。 thisの代わりにCassandraTable[String, User]が必要です。

私はウィキ例とは異なるバージョンを使用しています

バージョン1.29.6を使用していますか?または何か他の行方不明?

答えて

1

これはInteliJの強調表示の問題です。 ListColumnは、Cassandraテーブル内の型エイリアスとして定義され、コンストラクタ引数を取るすべての型エイリアスに対して、InteliJはそれらを見ることができません。

2.0.0で行われたすべての新機能の改善のほかに、私は実際にファントム2.0.0+にアップグレードしました。 +、this引数は、もはや新しいを使用して必要とされるファントム、2.9.xの最新バージョンでは

import com.outworkers.phantom.dsl._ 

class Users extends CassandraTable[Users, User] { 
    object id extends StringColumn(this) with PartitionKey 
    object name extends StringCoumn(this) 
    object friends extends ListColumn[String](this) 
} 

:固定エラーに行って、あなたが入力する必要はありませんどのくらいのコード削減の仕事のかなりのビットがありますコンパクトDSL。

import com.outworkers.phantom.dsl._ 

abtract class Users extends Table[Users, User] { 
    object id extends StringColumn with PartitionKey 
    object name extends StringColumn 
    object friends extends ListColumn[String] 
} 
関連する問題