Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: Symfony
Войти
Регистрация
Восстановить пароль
 
Z1K1
1 / 1 / 1
Регистрация: 18.11.2014
Сообщений: 101
1

Как сделать множество связей One-to-one Symfony3 doctrine

07.02.2018, 11:38. Просмотров 222. Ответов 1

К таблице Tours нужно прикрепить 2 таблицы ToursMeta и ToursMarkup,
работает только одна связь если другую убрать.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
<?php
 
namespace AppBundle\Entity;
use Doctrine\Common\Collections\ArrayCollection;
 
/**
 * Tours
 */
class Tours
{
    /**
     * @var integer
     */
    private $id;
 
    /**
     * @var string
     */
    private $title;
 
    /**
     * @var string
     */
    private $subtitle;
 
    /**
     * @var string
     */
    private $description;
 
    /**
     * @var float
     */
    private $price = '0';
 
    /**
     * @var string
     */
    private $thumbnail;
 
    /**
     * @var boolean
     */
    private $available = '1';
 
    private $tour_meta;
 
    private $tour_markup;
 
    public function __construct()
    {
        $this->tour_meta = new ArrayCollection();
    }
 
    /**
     * @return(type="array")
     */
    public function getTourMeta()
    {
        return $this->tour_meta;
    }
 
    public function setTourMeta(ToursMeta $tour_meta)
    {
        $this->tour_meta = $tour_meta;
    }
 
    public function getTourMarkup()
    {
        return $this->tour_markup;
    }
 
    public function setTourMarkup(ToursMarkup $tour_markup)
    {
        $this->tour_markup = $tour_markup;
    }
    /**
     * Get id
     *
     * @return integer
     */
    public function getId()
    {
        return $this->id;
    }
 
    /**
     * Set title
     *
     * @param string $title
     *
     * @return Tours
     */
    public function setTitle($title)
    {
        $this->title = $title;
 
        return $this;
    }
 
    /**
     * Get title
     *
     * @return string
     */
    public function getTitle()
    {
        return $this->title;
    }
 
    /**
     * Set subtitle
     *
     * @param string $subtitle
     *
     * @return Tours
     */
    public function setSubtitle($subtitle)
    {
        $this->subtitle = $subtitle;
 
        return $this;
    }
 
    /**
     * Get subtitle
     *
     * @return string
     */
    public function getSubtitle()
    {
        return $this->subtitle;
    }
 
    /**
     * Set description
     *
     * @param string $description
     *
     * @return Tours
     */
    public function setDescription($description)
    {
        $this->description = $description;
 
        return $this;
    }
 
    /**
     * Get description
     *
     * @return string
     */
    public function getDescription()
    {
        return $this->description;
    }
 
    /**
     * Set price
     *
     * @param float $price
     *
     * @return Tours
     */
    public function setPrice($price)
    {
        $this->price = $price;
 
        return $this;
    }
 
    /**
     * Get price
     *
     * @return float
     */
    public function getPrice()
    {
        return $this->price;
    }
 
    /**
     * Set thumbnail
     *
     * @param string $thumbnail
     *
     * @return Tours
     */
    public function setThumbnail($thumbnail)
    {
        $this->thumbnail = $thumbnail;
 
        return $this;
    }
 
    /**
     * Get thumbnail
     *
     * @return string
     */
    public function getThumbnail()
    {
        return $this->thumbnail;
    }
 
    /**
     * Set available
     *
     * @param boolean $available
     *
     * @return Tours
     */
    public function setAvailable($available)
    {
        $this->available = $available;
 
        return $this;
    }
 
    /**
     * Get available
     *
     * @return boolean
     */
    public function getAvailable()
    {
        return $this->available;
    }
}
Yaml Tours entity
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
AppBundle\Entity\Tours:
    type: entity
    table: tours
    oneToOne:
        tour_meta:
            targetEntity: ToursMeta
            mappedBy: tour
    oneToOne:
        tour_markup:
          targetEntity: ToursMarkup
          mappedBy: tour
    id:
        id:
            type: integer
            nullable: false
            options:
                unsigned: false
            id: true
            generator:
                strategy: IDENTITY
    fields:
        title:
            type: string
            nullable: false
            length: 60
            options:
                fixed: false
        subtitle:
            type: string
            nullable: false
            length: 60
            options:
                fixed: false
        description:
            type: text
            nullable: false
            length: 65535
            options:
                fixed: false
        price:
            type: float
            nullable: false
            precision: 10
            scale: 0
            options:
                default: '0'
        thumbnail:
            type: string
            nullable: false
            length: 255
            options:
                fixed: false
        available:
            type: boolean
            nullable: false
            options:
                default: '1'
    lifecycleCallbacks: {  }
ToursMarkup
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
AppBundle\Entity\ToursMarkup:
    type: entity
    table: tours_markup
    indexes:
        tour_id:
            columns:
                - tour_id
    uniqueConstraints:
        UNIQ_C1F6B14B15ED8D43:
            columns:
                - tour_id
    id:
        id:
            type: integer
            nullable: false
            options:
                unsigned: false
            id: true
            generator:
                strategy: IDENTITY
    fields:
        apartment:
            type: float
            nullable: false
            precision: 10
            scale: 0
            options:
                default: '0'
        food:
            type: float
            nullable: false
            precision: 10
            scale: 0
            options:
                default: '0'
        children:
            type: float
            nullable: false
            precision: 10
            scale: 0
            options:
                default: '0'
    oneToOne:
        tour:
          targetEntity: Tours
          inversedBy: tour_markup
          joinColumn:
            name: tour_id
            referencedColumnName: id
    lifecycleCallbacks: {  }
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
<?php
 
namespace AppBundle\Entity;
 
/**
 * ToursMarkup
 */
class ToursMarkup
{
    /**
     * @var integer
     */
    private $id;
 
    /**
     * @var float
     */
    private $apartment = '0';
 
    /**
     * @var float
     */
    private $food = '0';
 
    /**
     * @var float
     */
    private $children = '0';
 
    /**
     * One Cart has One Customer.
     * @ORM\OneToOne(targetEntity="Tours", inversedBy="tours")
     * @ORM\JoinColumn(name="tour_id", referencedColumnName="id")
     */
    private $tour;
 
 
    /**
     * Get id
     *
     * @return integer
     */
    public function getId()
    {
        return $this->id;
    }
 
    /**
     * Set apartment
     *
     * @param float $apartment
     *
     * @return ToursMarkup
     */
    public function setApartment($apartment)
    {
        $this->apartment = $apartment;
 
        return $this;
    }
 
    /**
     * Get apartment
     *
     * @return float
     */
    public function getApartment()
    {
        return $this->apartment;
    }
 
    /**
     * Set food
     *
     * @param float $food
     *
     * @return ToursMarkup
     */
    public function setFood($food)
    {
        $this->food = $food;
 
        return $this;
    }
 
    /**
     * Get food
     *
     * @return float
     */
    public function getFood()
    {
        return $this->food;
    }
 
    /**
     * Set children
     *
     * @param float $children
     *
     * @return ToursMarkup
     */
    public function setChildren($children)
    {
        $this->children = $children;
 
        return $this;
    }
 
    /**
     * Get children
     *
     * @return float
     */
    public function getChildren()
    {
        return $this->children;
    }
 
    /**
     * Set tour
     *
     * @param \AppBundle\Entity\Tours $tour
     *
     * @return ToursMarkup
     */
    public function setTour(\AppBundle\Entity\Tours $tour = null)
    {
        $this->tour = $tour;
 
        return $this;
    }
 
    /**
     * Get tour
     *
     * @return \AppBundle\Entity\Tours
     */
    public function getTour()
    {
        return $this->tour;
    }
}
ToursMeta
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
AppBundle\Entity\ToursMeta:
    type: entity
    table: tours_meta
    indexes:
        tour_id:
            columns:
                - tour_id
    uniqueConstraints:
        UNIQ_C1F6B14B15ED8D43:
            columns:
                - tour_id
    id:
        id:
            type: integer
            nullable: false
            options:
                unsigned: false
            id: true
            generator:
                strategy: IDENTITY
    fields:
        metaTagTitle:
            type: text
            nullable: false
            length: 65535
            options:
                fixed: false
            column: meta_tag_title
        metaTagDescription:
            type: text
            nullable: false
            length: 65535
            options:
                fixed: false
            column: meta_tag_description
        metaTagKeywords:
            type: text
            nullable: false
            length: 65535
            options:
                fixed: false
            column: meta_tag_keywords
    oneToOne:
            tour:
              targetEntity: Tours
              inversedBy: tour_meta
              joinColumn:
                name: tour_id
                referencedColumnName: id
    lifecycleCallbacks: {  }
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
<?php
 
namespace AppBundle\Entity;
 
/**
 * ToursMeta
 */
class ToursMeta
{
    /**
     * @var integer
     */
    private $id;
 
    /**
     * @var string
     */
    private $metaTagTitle;
 
    /**
     * @var string
     */
    private $metaTagDescription;
 
    /**
     * @var string
     */
    private $metaTagKeywords;
 
    /**
     * One Cart has One Customer.
     * @ORM\OneToOne(targetEntity="Tours", inversedBy="tours")
     * @ORM\JoinColumn(name="tour_id", referencedColumnName="id")
     */
    private $tour;
 
    public function __toString()
    {
        return 'tour_meta';
    }
 
    /**
     * Get id
     *
     * @return integer
     */
    public function getId()
    {
        return $this->id;
    }
 
    /**
     * Set metaTagTitle
     *
     * @param string $metaTagTitle
     *
     * @return ToursMeta
     */
    public function setMetaTagTitle($metaTagTitle)
    {
        $this->metaTagTitle = $metaTagTitle;
 
        return $this;
    }
 
    /**
     * Get metaTagTitle
     *
     * @return string
     */
    public function getMetaTagTitle()
    {
        return $this->metaTagTitle;
    }
 
    /**
     * Set metaTagDescription
     *
     * @param string $metaTagDescription
     *
     * @return ToursMeta
     */
    public function setMetaTagDescription($metaTagDescription)
    {
        $this->metaTagDescription = $metaTagDescription;
 
        return $this;
    }
 
    /**
     * Get metaTagDescription
     *
     * @return string
     */
    public function getMetaTagDescription()
    {
        return $this->metaTagDescription;
    }
 
    /**
     * Set metaTagKeywords
     *
     * @param string $metaTagKeywords
     *
     * @return ToursMeta
     */
    public function setMetaTagKeywords($metaTagKeywords)
    {
        $this->metaTagKeywords = $metaTagKeywords;
 
        return $this;
    }
 
    /**
     * Get metaTagKeywords
     *
     * @return string
     */
    public function getMetaTagKeywords()
    {
        return $this->metaTagKeywords;
    }
 
    /**
     * Set tour
     *
     * @param \AppBundle\Entity\Tours $tour
     *
     * @return ToursMeta
     */
    public function setTour(\AppBundle\Entity\Tours $tour = null)
    {
        $this->tour = $tour;
 
        return $this;
    }
 
    /**
     * Get tour
     *
     * @return \AppBundle\Entity\Tours
     */
    public function getTour()
    {
        return $this->tour;
    }
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2018, 11:38
Ответы с готовыми решениями:

Как рациональнее сделать анализ связей между графическими элементами?
не нужно ни кода, ничего. просьба пояснить подход: делаю программку, на...

Как в yii правильно сделать actionCreate для модели без связей?
Добрый день! Такая проблема, делаю регистрацию для пользователей. Есть...

Как сделать в case множество значений?
Как сделать в case множество значений? int age; switch (age) { case...

Множество Мандельброта - как сделать масштабирование
Здравствуйте, пишу программу, строящую множество Мандельброта на C#. Написал...

Создание связей в JPA и таблиц на основе этих связей
Как начинающий ознакомление с JPA: В моём скрине были созданны empoyee_id и...

1
Borsche
166 / 95 / 41
Регистрация: 03.07.2016
Сообщений: 424
07.02.2018, 17:04 2
Цитата Сообщение от Z1K1 Посмотреть сообщение
* @ORM\OneToOne(targetEntity="Tours", inversedBy="tours")
tours --> это что за поле такое?
Читаем документацию там всё просто http://docs.doctrine-project.org/pro...n-mapping.html
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2018, 17:04

Как объединить множество и сделать пересечение по формуле?
Данные математические выражения записать на языке С / С ++. Принятые...

Как на форме сделать множество случайно разбросанных точек?
Здравствуйте! Вот такое задание на VBA. На форме должны появляться множество...

Logout в Symfony3
Делаю авторизацию на симфони 3 по документации, в итоге получился вот такой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru