如何保存模型,如果正确保存则更新PK

时间:2016-02-01 18:16:53

标签: scala playframework slick

说我有一个类似的模型:

case class User(id: Int, name: String)

我正在使用光滑3,所以我已经定义了所有Table等。

我的问题是,我想保存一个用户,然后将id更新为postgresql中新插入的PK值。

我想在整个数据层中重复使用此模式,因此如果可以将其提取到更好的函数中。

所以我想这样做:

  1. 保存模型
  2. 使用新插入的ID主键值
  3. 更新ID
  4. 如果没有保存则抛出异常
  5. 如何使用光滑的3.x执行此操作?

    def save(user: User):User = {
      // (users returning users.map(_.id)) ??
    }
    

1 个答案:

答案 0 :(得分:0)

$('.goforward').click(function() {
  var href = $(this).attr('href');
  var selector = $(this).attr('page'); // make selector equal to the value we put in 'page'
  var pageNum = $(this).attr("href").match(/page="([0-9]+)"/)[1]; // get page number
  var fdd1 = $('[name="rating_score"]').val();
  var fdd2 = $('[name="value_score"]').val();

  // Create div with class iso-pageNum
  $('.isotope').append($('<div class="iso-' + pageNum '">').load(href + ".html .isotope > *", function() {
    select1f();
    select2f();

    if ($("select[name=rating_score] option:selected").val() == 'allr') {} else {
      // Select recent created div
      $('.isotope .iso-' + pageNum).children('div:not(' + fdd1 + ')').hide();
    }
  }));
  return false;
}); 

有相关的文档页面:

http://slick.typesafe.com/doc/3.1.0/queries.html#inserting