Ich möchte Crud für alle meine Entitäten von meinem Controller neu generieren, sobald ich bestimmte URL eingeben. Im folgenden Beispiel wird ein Befehl für nur eine Entität zu Demonstrationszwecken ausgeführt. Wenn ich zum Pfad '/ reCrud' navigiere, dreht sich mein Browser für immer, aber der Befehl wird nie ausgeführt. Was ziemlich interessant ist, ist, dass der gleiche Code, wenn ich stattdessen "cache: clear" ausführe, gut läuft.Symfony - Wie Crud für Entity von einem Controller zu regenerieren
<?php
namespace AdminBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Console\Application;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\Console\Input\StringInput;
use Symfony\Component\Console\Output\BufferedOutput;
use Symfony\Component\HttpFoundation\Response;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
class CrudController extends Controller
{
/**
* @Route("/reCrud")
*/
public function reCrudAction()
{
$kernel = $this->get('kernel');
$application = new Application($kernel);
$application->setAutoExit(false);
$input = new StringInput('doctrine:generate:crud AdminBundle:Klient --overwrite --no-debug');
// You can use NullOutput() if you don't need the output
$output = new BufferedOutput();
$application->run($input, $output);
// return the output, don't use if you used NullOutput()
$content = $output->fetch();
// return new Response(""), if you used NullOutput()
return new Response($content);
}
}
Vielleicht ist dies nur ein Problem bei der Konfiguration der Umgebung. Fühlen Sie sich frei, diesen Code zu zerschlagen und auf Ihrem Rechner zu testen. Lass es mich wissen, ob es funktioniert oder nicht.
Großartig! Danke. Ich musste auch "--entity =" hinzufügen, bevor es funktionierte, aber Sie haben es gelöst. Vielen Dank. Sie können Ihre Anser wie folgt bearbeiten: Doktrin: generieren: Crud --entity = AdminBundle: Klient - Überschreiben - keine-Debug - keine Interaktion – DevWL
@ Fox sicher, danke – pavlovich