Я должен был изменить контроллер. Я добавил еще одну функцию под названием «iedit», чем в iedit.html.twig, которую я назвал «duyurular_fotoekle». Если вы не могли понять, что я сделал, не стесняйтесь спрашивать.
/**
* @Route("/{id}/fotoekle", name="duyurular_fotoekle", methods={"POST"})
*/
public function fotoekle(Request $request, Duyurular $duyurular, $id): \Symfony\Component\HttpFoundation\RedirectResponse
{
$form = $this->createForm(DuyurularType::class, $duyurular);
$form->handleRequest($request);
echo ('sefa 2');
$file = $request->files->get('image');
// $file = $duyurular->getFotograf();
// $file = $form->get('fotograf')->getData();
$fileName = $this->generateUniqueFileName().'.'.$file->guessExtension();
try{
$file->move(
$this->getParameter('fotograflar_directory'),
$fileName
);
}catch (FileException $e){
}
$duyurular->setFotograf($fileName);
$this->getDoctrine()->getManager()->flush();
return $this->redirectToRoute('duyurular_iedit', ['id' => $duyurular->getId(),]);
}
/**
* @Route("/{id}/iedit", name="duyurular_iedit", methods="GET|POST")
*/
public function iedit(Request $request,$id, Duyurular $duyurular,DuyurularRepository $duyurularRepository): Response
{
$duyurulist = $duyurularRepository ->findAll();
$duyuruname = $duyurularRepository ->findBy(['id'=> $duyurular->getId()]);
$form = $this->createForm(DuyurularType::class, $duyurular);
$form->handleRequest($request);
echo ('sefa 0');
$this->getDoctrine()->getManager()->flush();
if ($form->isSubmitted()) {
echo ('sefa 1');
return $this->redirectToRoute('duyurular_index', ['id' => $duyurular->getId()]);
}
return $this->render('duyurular/iedit.html.twig', [
'duyurular' => $duyurular,
'id'=>$id,
'duyurulist' => $duyurulist,
'duyuruname' => $duyuruname,
'form' => $form->createView(),
]);
}
Следующий код красиво записывает массив в диапазон ячеек:
Function WriteArray() As Variant
Dim AbcList(0 To 2) as Variant
AbcList(0) = "A"
AbcList(1) = "B"
AbcList(2) = "C"
WriteArray = AbcList
End Function
Function WriteArrayToSpreadsheet()
Dim MyArray As Variant
MyArray = WriteArray()
Dim StartRow, i As Integer
StartRow = 1
For i = 0 To UBound(MyArray)
Range("A" & i + StartRow).Value = MyArray(i)
Next
End Function
При этом я хотел бы увидеть ту часть кода, в которой вы на самом деле пытаетесь ее получить. в электронную таблицу, а не там, где вы строите массив. Тогда я смогу вам помочь!
Вам не разрешено писать в ячейки, не являющиеся абонентами, непосредственно из функции рабочего листа в Excel.
Если вы хотите использовать функцию массива (с помощью Shift-Ctrl-Enter), вам нужно изменить свой код на:
Function WriteArray() As Variant
Dim arr(0 To 2, 0 To 1)
arr(0, 0) = "A"
arr(1, 0) = "B"
arr(2, 0) = "C"
WriteArray = arr
End Function
Если вы хотите писать вне вызывающих ячеек, вам нужно будет реализовать некоторую форму обратного вызова который будет использовать автоматизацию для записи в другие ячейки. Это намного сложнее, и вероятность поломки выше!