⚲
Project
General
Profile
Sign in
Register
Home
Projects
Help
Search
:
Wt
All Projects
Wt
Overview
Activity
Roadmap
Issues
Wiki
Forums
Download (1.07 KB)
Dbo: remove() object with defined ManyToMany relations: c...
ยป main.cpp
source code -
Vladimir Zibarov
, 11/07/2012 01:59 PM
#include
<Wt/Dbo/Dbo>
#include
<Wt/Dbo/backend/Sqlite3>
#include
<string>
namespace
dbo
=
Wt
::
Dbo
;
class
Post
;
class
Tag
;
class
Post
{
public:
dbo
::
collection
<
dbo
::
ptr
<
Tag
>
>
tags
;
template
<
class
Action
>
void
persist
(
Action
&
a
)
{
dbo
::
hasMany
(
a
,
tags
,
dbo
::
ManyToMany
,
"post_tags"
);
}
};
class
Tag
{
public:
dbo
::
collection
<
dbo
::
ptr
<
Post
>
>
posts
;
template
<
class
Action
>
void
persist
(
Action
&
a
)
{
dbo
::
hasMany
(
a
,
posts
,
dbo
::
ManyToMany
,
"post_tags"
);
}
};
void
run
()
{
dbo
::
backend
::
Sqlite3
sqlite3
(
":memory:"
);
sqlite3
.
setProperty
(
"show-queries"
,
"true"
);
dbo
::
Session
session
;
session
.
setConnection
(
sqlite3
);
session
.
mapClass
<
Post
>
(
"post"
);
session
.
mapClass
<
Tag
>
(
"tag"
);
session
.
createTables
();
dbo
::
ptr
<
Post
>
post
;
{
dbo
::
Transaction
transaction
(
session
);
post
=
session
.
add
(
new
Post
());
dbo
::
ptr
<
Tag
>
tag
=
session
.
add
(
new
Tag
());
post
.
modify
()
->
tags
.
insert
(
tag
);
}
{
dbo
::
Transaction
transaction
(
session
);
//post.remove();
post
.
modify
()
->
tags
.
clear
();
}
}
int
main
(
int
argc
,
char
**
argv
)
{
run
();
}
(1-1/1)
Loading...