我有一个特定的问题,我尝试了一切,但无法找到解决方法。 我在浏览器和apache error_log中遇到此错误ERR_EMPTY_RESPONSE [Thu Sep 08 16:07:55.896191 2016] [核心:通知] [pid 834] AH00052:子pid 844退出信号分段错误(11)
我的代码:
class Trainer
{
/**
* @var integer
*
* @ORM\Column(name="trainer_id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $trainerId;
/**
* @ORM\ManyToMany(targetEntity="AppBundle\Entity\Unit")
* @ORM\JoinTable(name="trainer_unit",
* joinColumns={@ORM\JoinColumn(name="trainer_id", referencedColumnName="trainer_id")},
* inverseJoinColumns={@ORM\JoinColumn(name="unit_id", referencedColumnName="unit_id")}
* )
*/
protected $units;
public function __construct()
{
$this->units = new ArrayCollection();
}
}
当我尝试使用
时问题就出现了 $em = $this->getDoctrine()->getManager();
$trainer = $em->getRepository('AppBundle:Trainer')->find($id);
dump($trainer); //no errors
dump($trainer->getUnits()); // *** ERROR
//or
$trainer->getUnits()->add($unit); // *** ERROR
我使用的是PHP 5.5,Symfony 3,AMMPS 3.5
提前致谢
答案 0 :(得分:0)
您收到错误,因为$ trainer可以是结果集。 然后你需要迭代它。
试试这个:
foreach( $trainer as $t ){
dump( $t->getUnits() );
}
我认为它应该有用,但不能保证。
编辑#2 根据评论。
你也可以尝试一下,看看结果是否不同:
$repository = $this->getDoctrine()->getRepository('AppBundle:Trainer');
$trainer = $repository->find($id);
编辑#3 根据评论。
dump($trainer)
TrainerController.php on line 104:
Trainer {#704 ▼
-trainerName: "Gisele"
-trainerId: 2
#units: PersistentCollection {#751 ▼
-snapshot: []
-owner: CletTrainer {#704}
-association: array:19 [ …19]
-em: EntityManager {#522 …11}
-backRefFieldName: null
-typeClass: ClassMetadata {#706 …}
-isDirty: false
#collection: ArrayCollection {#752 ▶}
#initialized: false
}
}
dump($trainer->getUnits())
clet.localhost.com页面无效
clet.localhost.com没有发送任何数据。 ERR_EMPTY_RESPONSE
相同的apache错误
编辑#4
clet.localhost.com是我的域名,我的/ web链接到该域名。 我正在尝试更新培训师,我在那里放置转储以找出问题