slick saving multiple objects
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
hey i have a react app that sends an order to my api, for example
[
{
"product_id":13,
"quantity":2
},
{
"product_id":12,
"quantity":2
}
]
and what i would like to do with it is, parse that json to Seq[Product]
and here my problem begins i dont know to save that Seq with slick.
def createMany(productList: Seq[Product]): Future[Seq[Int]] = db.run {
for {
p <- productList
} yield products += p
}
where products is a TableQuery[Product],
was thinking about something like this, but im getting
Type mismatch, expected: DBIOAction[NotInferedR, NoStream, Nothing], actual: Seq[JdbcProfile.this.ProfileAction[Int, NoStream, Effect.Write]]
What im trying to return is a list of ids of products i just inserted
json scala rest slick
add a comment |
hey i have a react app that sends an order to my api, for example
[
{
"product_id":13,
"quantity":2
},
{
"product_id":12,
"quantity":2
}
]
and what i would like to do with it is, parse that json to Seq[Product]
and here my problem begins i dont know to save that Seq with slick.
def createMany(productList: Seq[Product]): Future[Seq[Int]] = db.run {
for {
p <- productList
} yield products += p
}
where products is a TableQuery[Product],
was thinking about something like this, but im getting
Type mismatch, expected: DBIOAction[NotInferedR, NoStream, Nothing], actual: Seq[JdbcProfile.this.ProfileAction[Int, NoStream, Effect.Write]]
What im trying to return is a list of ids of products i just inserted
json scala rest slick
1
could you share what is the version of slick you are using? Also, I think when you run db.run{...} this, it will return you Seq[Future[Int]]. If you want to add batch of Product, you need to use ++= instead of +=.
– tomcy
Nov 26 '18 at 6:35
add a comment |
hey i have a react app that sends an order to my api, for example
[
{
"product_id":13,
"quantity":2
},
{
"product_id":12,
"quantity":2
}
]
and what i would like to do with it is, parse that json to Seq[Product]
and here my problem begins i dont know to save that Seq with slick.
def createMany(productList: Seq[Product]): Future[Seq[Int]] = db.run {
for {
p <- productList
} yield products += p
}
where products is a TableQuery[Product],
was thinking about something like this, but im getting
Type mismatch, expected: DBIOAction[NotInferedR, NoStream, Nothing], actual: Seq[JdbcProfile.this.ProfileAction[Int, NoStream, Effect.Write]]
What im trying to return is a list of ids of products i just inserted
json scala rest slick
hey i have a react app that sends an order to my api, for example
[
{
"product_id":13,
"quantity":2
},
{
"product_id":12,
"quantity":2
}
]
and what i would like to do with it is, parse that json to Seq[Product]
and here my problem begins i dont know to save that Seq with slick.
def createMany(productList: Seq[Product]): Future[Seq[Int]] = db.run {
for {
p <- productList
} yield products += p
}
where products is a TableQuery[Product],
was thinking about something like this, but im getting
Type mismatch, expected: DBIOAction[NotInferedR, NoStream, Nothing], actual: Seq[JdbcProfile.this.ProfileAction[Int, NoStream, Effect.Write]]
What im trying to return is a list of ids of products i just inserted
json scala rest slick
json scala rest slick
asked Nov 25 '18 at 5:09
adamblumsteinadamblumstein
204
204
1
could you share what is the version of slick you are using? Also, I think when you run db.run{...} this, it will return you Seq[Future[Int]]. If you want to add batch of Product, you need to use ++= instead of +=.
– tomcy
Nov 26 '18 at 6:35
add a comment |
1
could you share what is the version of slick you are using? Also, I think when you run db.run{...} this, it will return you Seq[Future[Int]]. If you want to add batch of Product, you need to use ++= instead of +=.
– tomcy
Nov 26 '18 at 6:35
1
1
could you share what is the version of slick you are using? Also, I think when you run db.run{...} this, it will return you Seq[Future[Int]]. If you want to add batch of Product, you need to use ++= instead of +=.
– tomcy
Nov 26 '18 at 6:35
could you share what is the version of slick you are using? Also, I think when you run db.run{...} this, it will return you Seq[Future[Int]]. If you want to add batch of Product, you need to use ++= instead of +=.
– tomcy
Nov 26 '18 at 6:35
add a comment |
1 Answer
1
active
oldest
votes
tomcy is right that you need to use ++=
instead of +=
when inserting a Seq. Also if you want the ids back after the insert you can try:
products returning products.map(_.id) ++= productList
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53464830%2fslick-saving-multiple-objects%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
tomcy is right that you need to use ++=
instead of +=
when inserting a Seq. Also if you want the ids back after the insert you can try:
products returning products.map(_.id) ++= productList
add a comment |
tomcy is right that you need to use ++=
instead of +=
when inserting a Seq. Also if you want the ids back after the insert you can try:
products returning products.map(_.id) ++= productList
add a comment |
tomcy is right that you need to use ++=
instead of +=
when inserting a Seq. Also if you want the ids back after the insert you can try:
products returning products.map(_.id) ++= productList
tomcy is right that you need to use ++=
instead of +=
when inserting a Seq. Also if you want the ids back after the insert you can try:
products returning products.map(_.id) ++= productList
answered Dec 16 '18 at 3:01
AHonarmandAHonarmand
16339
16339
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53464830%2fslick-saving-multiple-objects%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
could you share what is the version of slick you are using? Also, I think when you run db.run{...} this, it will return you Seq[Future[Int]]. If you want to add batch of Product, you need to use ++= instead of +=.
– tomcy
Nov 26 '18 at 6:35