我正在尝试为我的联系信息生成实体.为此,我首先使用以下语法创建实体,其中我创建了一个枚举字段.
php app/console doctrine:generate:entity --entity="BannerTestBundle.contact" --fields="name:string(255) lastname:string(255) phone:integer(10) gender:enum("male","female") message:text".
Run Code Online (Sandbox Code Playgroud)
上面的命令生成实体类,但是当我尝试从类中生成"实体"时,它将显示该命令的错误.
php app/console doctrine:generate:entities Banner/TestBundle/Entity/contact
Run Code Online (Sandbox Code Playgroud)
它将显示以下错误.
[Doctrine\Common\Annotations\AnnotationException]
[Semantical Error] Couldn't find constant male, property Banner\TestBundle\
Entity\contact::$gender.
doctrine:generate:entities [--path="..."] [--no-backup] name
Run Code Online (Sandbox Code Playgroud)
我想用以下字段生成数据库:
Contact.table
Name-string(255)
LastName-string(255)
Phone:integer(10)
gender:enum("male","female")
message:text
Run Code Online (Sandbox Code Playgroud)
请帮助我,因为我是symfony的新手
这是联系实体文件
<?php
namespace Banner\TestBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* contact
*
* @ORM\Table()
* @ORM\Entity(repositoryClass="Banner\TestBundle\Entity\contactRepository")
*/
class contact
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="name", …Run Code Online (Sandbox Code Playgroud) 我正在学习symfony2,我在控制器中创建了一个表格,如下所示.控制器文件为DefaultController.php
namespace Banner\TestBundle\Controller;
use Banner\TestBundle\Entity\Contact;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Banner\TestBundle\Entity\Task;
use Symfony\Components\HttpFoundation\Request;
class DefaultController extends Controller
{
public function newAction(Request $request)
{
echo "The controller is called ";
$task = new Task();
$task->setTask("Write a blog Post ");
$task->setDueDate(new DateTime('tomorrow'));
$form = $this->createFormBuilder($task)
->add('task','text ')
->add('duedate','date')
->getForm();
return $this->render('BannerTestBundle:default:zoo.html.twig',array('form'=>$form->createView()));
}
}
Run Code Online (Sandbox Code Playgroud)
我的路由文件如下.使用routing.yml
task_new:
pattern: /task/{request}
defaults: { _controller: BannerTestBundle:Default:new}
Run Code Online (Sandbox Code Playgroud)
而zoo.html.twig文件如下所示.
{% extends '::page.html.twig' %}
{% block title %}The Zoo{% endblock %}
{% block content %}
<form action="{{ path('task_new') }}" method="post" {{ form_enctype(form) …Run Code Online (Sandbox Code Playgroud) 我知道这不是一个好问题,但我没有找到谷歌的任何令人满意的答案,我们能够在有或没有PEAR的情况下在symfony 1.4中安装插件.
如果是,那为什么呢?如果没有,那么我们如何手动安装它.
我正在我的symfony中实现FOSUser模块我创建并配置所有文件作为教程.这是我的config.yml文件用于映射.
namespace Acme\UserBundle\Entity;
use FOS\UserBundle\Entity\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
class User extends BaseUser
{
protected $id;
public function __construct()
{
parent::__construct();
// your own logic
}
}
Run Code Online (Sandbox Code Playgroud)
它显示以下错误..
MappingException: The class 'Acme\UserBundle\Entity\User'
was not found in the chain configured namespaces FOS\UserBundle\Entity
Run Code Online (Sandbox Code Playgroud)
这是我的config.yml文件,其中我提到自动编码.还是不行.
imports:
- { resource: parameters.yml }
- { resource: security.yml }
framework:
#esi: ~
#translator: { fallback: %locale% }
secret: %secret%
router:
resource: "%kernel.root_dir%/config/routing.yml"
strict_requirements: %kernel.debug%
form: ~
csrf_protection: ~
validation: { enable_annotations: true }
templating: …Run Code Online (Sandbox Code Playgroud) 我创建了一个defaultcontroller,如下所示
namespace Mytest\VameBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;
class DefaultController extends Controller
{
public function indexAction()
{
return $this->redirect($this->generateUrl('home'));
}
public function myactionAction($name)
{
return new Response('<html><body>'.$name.'</body></html>');
}
Run Code Online (Sandbox Code Playgroud)
}
路由文件如下所示.
use Symfony\Component\Routing\RouteCollection;
use Symfony\Component\Routing\Route;
$collection = new RouteCollection();
$collection->add('name', new Route('/vame',array(
'_controller' => 'MytestVameBundle:Default:index',
)));
$collection->add('home', new Route('/vame/{name}',array(
'_controller' => 'MytestVameBundle:Default:myaction',
'name' => 'hhhhhhhhhh',
Run Code Online (Sandbox Code Playgroud)
)));
return $collection;
Run Code Online (Sandbox Code Playgroud)
它显示以下错误
页面未正确重定向
我想要做的是一旦使用索引操作调用默认控制器,它将使用一个参数重定向到myaction Action.
所以请任何帮助......