Я работаю над небольшим проектом (некоторое программное обеспечение для отслеживания следов для школьного предмета – интерфейс PHP с SQL-блоком sqlite) и решил использовать ORM. Я взглянул на RedBeanPHP, но это показалось мне слишком ограниченным для меня. Таким образом, я решил уступить Учение. Мой единственный предыдущий опыт работы с ORM – LINQ to SQL в .NET. […]
У меня проблема с «Doctrine2». При попытке сохранить связь «ManyToMany» или «OneToOne» PHP оставляет ошибку исключения! Я оставляю ошибку, чтобы вы могли мне помочь. Неустранимая ошибка: исключить исключение «InvalidArgumentException» с сообщением «Новый объект, найденный через объекты« Связь »\ Пользователь # привилегия» Это не настроено на каскадное сохранение. Операции для объекта: Entities \ Privilege @ 0000000012feb12000000000616126d4. […]
Я не могу найти упоминания в документации Doctrine о том, как проверить, имеет ли сущность существующее отношение к другому объекту: http://www.doctrine-project.org/docs/orm/2.0/en/reference/working-with-associations.html В Doctrine 1.x существует метод, называемый exists который может быть вызван сущностью, чтобы проверить это: http://www.doctrine-project.org/documentation/manual/1_2/en/working-with-models#dealing-with-relations:clearing-related-records В Doctrine 2.0 это то, что я обычно делал. Какие методы используют другие люди? <?php class Group { […]
У меня возникли проблемы с расшифровкой этого блока кода из документации доктрины /** @Entity */ class User { // … /** * @ManyToMany(targetEntity="User", mappedBy="myFriends") */ private $friendsWithMe; /** * @ManyToMany(targetEntity="User", inversedBy="friendsWithMe") * @JoinTable(name="friends", * joinColumns={@JoinColumn(name="user_id", referencedColumnName="id")}, * inverseJoinColumns={@JoinColumn(name="friend_user_id", referencedColumnName="id")} * ) */ private $myFriends; // … } ниже показано, как я расшифровываю одно-много двунаправленное отношение […]
Мне нужно вставить объект, имеющий ассоциации. Если у меня уже есть FK связанных объектов, есть ли способ вставить первичный объект в db только с заполненным FK? Или я всегда должен извлекать связанные объекты через FK, заполняют свойства первичной сущности, ссылаясь на ассоциации, а затем вызвать метод persist.