Ben varlıklar Projesi ve Ders her ders bu kadar çok proje ile ilgili olabilir birçok proje var, çünkü aralarında bir ilişki için bir çok var verilmiş olmasını bekler aynı ders.Symfony2'nin: Uyarı: spl_object_hash() parametresi 1 nesne, tamsayı
class Project{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
//... other fields ...
//----------------------- DATABASE RELATIONSHIP ----------------//
//PROJECT-COURSE - M:1 relationship
/**
* @ORM\ManyToOne(targetEntity="Course", inversedBy="project")
* @ORM\JoinColumn(name="course_id", referencedColumnName="id")
**/
private $course;
ve
, bu benim form oluşturucu benim kurs için yeni bir proje eklemek çalıştığınızda hata görünürolduğunu
class Course{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
//... other fields ...
//----------------------- DATABASE RELATIONSHIP----------------//
//COURSE-PROJECT 1:M relationship
/**
* @ORM\OneToMany(targetEntity="Project", mappedBy="course")
**/
private $project;
:
$builder
->add('name', 'text', array(
'attr' => array('class' => 'form-control')))
->add('description', 'textarea', array(
'attr' => array('class' => 'form-control', 'rows' => '10')))
->add('submit', 'submit', array(
'attr' => array('class' => 'btn btn-primary')));
Bunlar
benim varlıklardırBu verileri bir Proje nesnesi oluşturmaya ve formun sonucu olarak doldurmaya çalışıyorum. bkz:
$project->setName($form->get('name')->getData());
$project->setDescription($form->get('description')->getData());
$project->setPhasesNumber($form->get('phases_number')->getData());
$project->setPathNumber($form->get('path_number')->getData());
$project->setYear(date('Y'));
$project->setCourse(5); //number 5 is just a test
$em = $this->getDoctrine()->getManager();
$em->persist($project);
$em->flush();
sorun komuta $project->setCourse(5);
ile ilişkili olmalı ve ben Projesi ve Course arasındaki ilişkiyi kaldırırsanız hata görünmüyor gördüm. Hata, ders kimliğini ayarlamak için kullanılan satırı yorumlamam bile kayboluyor, bu yüzden bu ilişkiyle ilgili bir sorunum olduğunu düşünüyorum ama nerede olduğunu anlayamıyorum.
Stackoverflow üzerinde başka bir soru okudum ama bana yardımcı olmuyor.
Şimdiden teşekkürler.
Şimdi nettir, teşekkür ederim , gerçekten;) –
Bu noktaya ulaşmak için bana birkaç saat sürdü ve çözümünüz gerçekten yardımcı oldu. Teşekkürler –
Aslında '$ this-> getDoctrine() -> getManager() -> getReference ('Ad alanı: Course', 5);' db arama yapmadan kullanmak daha iyi olurdu! – Full