title: How to update table in Phantom for cassandra Scala
body: <p>I created following table for Cassandra</p>
  
  <pre><code>abstract class MessageTable extends Table[ConcreteMessageModel, Message] {
  
    override def tableName: String = "messages"
  
    // String because TimedUUIDs are bad bad bad
    object id extends Col[String] with PartitionKey {
      override lazy val name = "message_id"
    }
  
    object phone extends Col[String]
  
    object message extends Col[String]
  
    object provider_message_id extends Col[Option[String]]
    object status extends Col[Option[String]]
  
    object datetime extends DateColumn {
      override lazy val name = "message_datetime"
    }
  
    override def fromRow(r: Row): Message = Message(phone(r), message(r), Some(UUID.fromString(id(r))), None, status(r), Some( ZonedDateTime.ofInstant(datetime(r).toInstant, ZoneOffset.UTC) ))
  }
  </code></pre>
  
  <p>In above table, I want to be able to update the table based on <code>id</code> or <code>provider_message_id</code>.</p>
  
  <p>I can easily update the row using <code>id</code></p>
  
  <pre><code>update().where(_.id eqs message.id)...
  </code></pre>
  
  <p>But I can't update the table using <code>provider_message_id</code></p>
  
  <pre><code>update().where(_.provider_message_id eqs callback_id)...
  </code></pre>
  
  <p>How can I use multiple fields to update the table in cassandra</p>