- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我想在我的表单上显示数据,但我做不到。
这是我在 userbundle 下的 profile.php:
<?php
namespace project\UserBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Profile
*
* @ORM\Table(name="project_profiles")
* @ORM\Entity
* @ORM\HasLifecycleCallbacks
*/
class Profile
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var \project\UserBundle\Entity\User
*
* @ORM\OneToOne(targetEntity="\project\UserBundle\Entity\User", inversedBy="profile")
*/
private $user;
/**
* @var string
*
* @ORM\Column(name="first_name", type="string")
*/
private $firstName;
/**
* @var string
*
* @ORM\Column(name="last_name", type="string")
*/
private $lastName;
/**
* @var string
*
* @ORM\Column(name="address1", type="string")
*/
private $address1;
/**
* @var string
*
* @ORM\Column(name="address2", type="string")
*/
private $address2;
/**
* @var string
*
* @ORM\Column(name="city", type="string")
*/
private $city;
/**
* @var string
*
* @ORM\Column(name="state", type="string")
*/
private $state;
/**
* @var string
*
* @ORM\Column(name="zipcode", type="string")
*/
private $zipcode;
/**
* @var string
*
* @ORM\Column(name="country", type="string")
*/
private $country;
/**
* @var integer
*
* @ORM\Column(name="client_api_delay", type="integer")
*/
private $clientApiDelay;
/**
* @var \DateTime
*
* @ORM\Column(name="created_at", type="datetime")
*/
private $createdAt;
/**
* @var \DateTime
*
* @ORM\Column(name="updated_at", type="datetime", nullable=true)
*/
private $updatedAt;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set firstName
*
* @param string $firstName
* @return Profile
*/
public function setFirstName($firstName)
{
$this->firstName = $firstName;
return $this;
}
/**
* Get firstName
*
* @return string
*/
public function getFirstName()
{
return $this->firstName;
}
/**
* Set lastName
*
* @param string $lastName
* @return Profile
*/
public function setLastName($lastName)
{
$this->lastName = $lastName;
return $this;
}
/**
* Get lastName
*
* @return string
*/
public function getLastName()
{
return $this->lastName;
}
/**
* Set address1
*
* @param string $address1
* @return Profile
*/
public function setAddress1($address1)
{
$this->address1 = $address1;
return $this;
}
/**
* Get address1
*
* @return string
*/
public function getAddress1()
{
return $this->address1;
}
/**
* Set address2
*
* @param string $address2
* @return Profile
*/
public function setAddress2($address2)
{
$this->address2 = $address2;
return $this;
}
/**
* Get address2
*
* @return string
*/
public function getAddress2()
{
return $this->address2;
}
/**
* Set city
*
* @param string $city
* @return Profile
*/
public function setCity($city)
{
$this->city = $city;
return $this;
}
/**
* Get city
*
* @return string
*/
public function getCity()
{
return $this->city;
}
/**
* Set state
*
* @param string $state
* @return Profile
*/
public function setState($state)
{
$this->state = $state;
return $this;
}
/**
* Get state
*
* @return string
*/
public function getState()
{
return $this->state;
}
/**
* Set zipcode
*
* @param string $zipcode
* @return Profile
*/
public function setZipcode($zipcode)
{
$this->zipcode = $zipcode;
return $this;
}
/**
* Get zipcode
*
* @return string
*/
public function getZipcode()
{
return $this->zipcode;
}
/**
* Set country
*
* @param string $country
* @return Profile
*/
public function setCountry($country)
{
$this->country = $country;
return $this;
}
/**
* Get country
*
* @return string
*/
public function getCountry()
{
return $this->country;
}
/**
* Set clientApiDelay
*
* @param integer $clientApiDelay
* @return Profile
*/
public function setClientApiDelay($clientApiDelay)
{
$this->clientApiDelay = $clientApiDelay;
return $this;
}
/**
* Get clientApiDelay
*
* @return integer
*/
public function getClientApiDelay()
{
return $this->clientApiDelay;
}
/**
* Set createdAt
*
* @param \DateTime $createdAt
* @return Profile
*/
public function setCreatedAt($createdAt)
{
$this->createdAt = $createdAt;
return $this;
}
/**
* Get createdAt
*
* @return \DateTime
*/
public function getCreatedAt()
{
return $this->createdAt;
}
/**
* Set createdAt to NOW
*
* @return Profile
* @ORM\PrePersist
*/
public function setCreatedAtNow()
{
$this->createdAt = new \DateTime();
return $this;
}
/**
* Set updatedAt
*
* @param \DateTime $updatedAt
* @return Profile
*/
public function setUpdatedAt($updatedAt)
{
$this->updatedAt = $updatedAt;
return $this;
}
/**
* Get updatedAt
*
* @return \DateTime
*/
public function getUpdatedAt()
{
return $this->updatedAt;
}
/**
* Set updatedAt to NOW
*
* @return Profile
* @ORM\PreUpdate
*/
public function setUpdatedAtNow()
{
$this->updatedAt = new \DateTime();
return $this;
}
/**
* Set user
*
* @param \project\UserBundle\Entity\User $user
* @return Profile
*/
public function setUser(\project\UserBundle\Entity\User $user = null)
{
$this->user = $user;
return $this;
}
/**
* Get user
*
* @return \project\UserBundle\Entity\User
*/
public function getUser()
{
return $this->user;
}
}
我的 ProfileController.php 文件:
<?php
namespace project\UserBundle\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use project\UserBundle\Entity\Profile;
use project\UserBundle\Form\ProfileType;
/**
* Profile controller.
*
* @Route("/admin/profile")
*/
class ProfileController extends Controller
{
/**
* Lists all Profile entities.
*
* @Route("/", name="admin_profile")
* @Method("GET")
* @Template()
*/
public function indexAction()
{
$em = $this->getDoctrine()->getManager();
$entities = $em->getRepository('projectUserBundle:Profile')->findAll();
return array(
'entities' => $entities,
);
}
/**
* Creates a new Profile entity.
*
* @Route("/", name="admin_profile_create")
* @Method("POST")
* @Template("projectUserBundle:Profile:new.html.twig")
*/
public function createAction(Request $request)
{
$entity = new Profile();
$form = $this->createForm(new ProfileType(), $entity);
$form->bind($request);
if ($form->isValid()) {
$em = $this->getDoctrine()->getManager();
$em->persist($entity);
$em->flush();
return $this->redirect($this->generateUrl('admin_profile_show', array('id' => $entity->getId())));
}
return array(
'entity' => $entity,
'form' => $form->createView(),
);
}
/**
* Displays a form to create a new Profile entity.
*
* @Route("/new", name="admin_profile_new")
* @Method("GET")
* @Template()
*/
public function newAction()
{
$entity = new Profile();
$form = $this->createForm(new ProfileType(), $entity);
return array(
'entity' => $entity,
'form' => $form->createView(),
);
}
/**
* Finds and displays a Profile entity.
*
* @Route("/{id}", name="admin_profile_show")
* @Method("GET")
* @Template()
*/
public function showAction($id)
{
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository('projectUserBundle:Profile')->find($id);
if (!$entity) {
throw $this->createNotFoundException('Unable to find Profile entity.');
}
$deleteForm = $this->createDeleteForm($id);
return array(
'entity' => $entity,
'delete_form' => $deleteForm->createView(),
);
}
/**
* Displays a form to edit an existing Profile entity.
*
* @Route("/{id}/edit", name="admin_profile_edit")
* @Method("GET")
* @Template()
*/
public function editAction($id)
{
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository('projectUserBundle:Profile')->find($id);
if (!$entity) {
throw $this->createNotFoundException('Unable to find Profile entity.');
}
$editForm = $this->createForm(new ProfileType(), $entity);
$deleteForm = $this->createDeleteForm($id);
return array(
'entity' => $entity,
'edit_form' => $editForm->createView(),
'delete_form' => $deleteForm->createView(),
);
}
/**
* Edits an existing Profile entity.
*
* @Route("/{id}", name="admin_profile_update")
* @Method("PUT")
* @Template("projectUserBundle:Profile:edit.html.twig")
*/
public function updateAction(Request $request, $id)
{
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository('projectUserBundle:Profile')->find($id);
if (!$entity) {
throw $this->createNotFoundException('Unable to find Profile entity.');
}
$deleteForm = $this->createDeleteForm($id);
$editForm = $this->createForm(new ProfileType(), $entity);
$editForm->bind($request);
if ($editForm->isValid()) {
$em->persist($entity);
$em->flush();
return $this->redirect($this->generateUrl('admin_profile_edit', array('id' => $id)));
}
return array(
'entity' => $entity,
'edit_form' => $editForm->createView(),
'delete_form' => $deleteForm->createView(),
);
}
/**
* Deletes a Profile entity.
*
* @Route("/{id}", name="admin_profile_delete")
* @Method("DELETE")
*/
public function deleteAction(Request $request, $id)
{
$form = $this->createDeleteForm($id);
$form->bind($request);
if ($form->isValid()) {
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository('projectUserBundle:Profile')->find($id);
if (!$entity) {
throw $this->createNotFoundException('Unable to find Profile entity.');
}
$em->remove($entity);
$em->flush();
}
return $this->redirect($this->generateUrl('admin_profile'));
}
/**
* Creates a form to delete a Profile entity by id.
*
* @param mixed $id The entity id
*
* @return Symfony\Component\Form\Form The form
*/
private function createDeleteForm($id)
{
return $this->createFormBuilder(array('id' => $id))
->add('id', 'hidden')
->getForm()
;
}
}
我已经在 Resources/Profile/show.html 下声明了我的实体,一切正常:例如我的地址:
<th>Address2</th>
<td>{{ entity.address2 }}</td>
我的问题是我有另一个名为 ShowBundle 的包,我想显示该包上的那些实体。例如,当我在该 bundle 上调用 {{ entity.address2 }} 以显示我的地址时,它向我显示:(变量“entity”不存在)
如何在另一个 bundle 的 twig 表单上显示这些配置文件实体,在我的例子中是 ShowBundle?
非常感谢
最佳答案
当然你可以使用{{ app.user.variablename }}
,它是一个全局变量。但是对于其他变量, View 只能显示 Controller 发送给它的数据。这就是 MVC(模型- View - Controller )架构。
变量 entity
仅当您的 Controller 将其发送到 View 时才存在于 Twig View 中。这就是 return array( 'entities' => $entities );
行在您的 ProfileController.php 上所做的,这也是您可以在 Resources/Profile/show.html 中使用它的原因。
如果您想在另一个包中显示一个实体,只需将它从数据库中拉出并将其发送到 View ,就像您在 ProfileController.php 中所做的那样。如果您自己编写了发布的代码,那应该是一件容易的事。
如果您不理解您发布的代码,我建议您学习使用 Symfony。你可以阅读the Book ,这是出色的分步文档。
提示:
将此代码复制到您的其他捆绑 Controller (以 Action()
结尾的方法):
$em = $this->getDoctrine()->getManager(); //get the database manager
$profiles = $em->getRepository('projectUserBundle:Profile')->findAll(); // get the profiles
return array(
'profiles' => $profiles,
); // send data to the view
您将通过模板中的 {{ profiles }}
访问您的个人资料。
关于php - Symfony2 - 从数据库中提取数据并以表格形式显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20983903/
初学者 android 问题。好的,我已经成功写入文件。例如。 //获取文件名 String filename = getResources().getString(R.string.filename
我已经将相同的图像保存到/data/data/mypackage/img/中,现在我想显示这个全屏,我曾尝试使用 ACTION_VIEW 来显示 android 标准程序,但它不是从/data/dat
我正在使用Xcode 9,Swift 4。 我正在尝试使用以下代码从URL在ImageView中显示图像: func getImageFromUrl(sourceUrl: String) -> UII
我的 Ubuntu 安装 genymotion 有问题。主要是我无法调试我的数据库,因为通过 eclipse 中的 DBMS 和 shell 中的 adb 我无法查看/data/文件夹的内容。没有显示
我正在尝试用 PHP 发布一些 JSON 数据。但是出了点问题。 这是我的 html -- {% for x in sets %}
我观察到两种方法的结果不同。为什么是这样?我知道 lm 上发生了什么,但无法弄清楚 tslm 上发生了什么。 > library(forecast) > set.seed(2) > tts lm(t
我不确定为什么会这样!我有一个由 spring data elasticsearch 和 spring data jpa 使用的类,但是当我尝试运行我的应用程序时出现错误。 Error creatin
在 this vega 图表,如果我下载并转换 flare-dependencies.json使用以下 jq 到 csv命令, jq -r '(map(keys) | add | unique) as
我正在提交一个项目,我必须在其中创建一个带有表的 mysql 数据库。一切都在我这边进行,所以我只想检查如何将我所有的压缩文件发送给使用不同计算机的人。基本上,我如何为另一台计算机创建我的数据库文件,
我有一个应用程序可以将文本文件写入内部存储。我想仔细看看我的电脑。 我运行了 Toast.makeText 来显示路径,它说:/数据/数据/我的包 但是当我转到 Android Studio 的 An
我喜欢使用 Genymotion 模拟器以如此出色的速度加载 Android。它有非常好的速度,但仍然有一些不稳定的性能。 如何从 Eclipse 中的文件资源管理器访问 Genymotion 模拟器
我需要更改 Silverlight 中文本框的格式。数据通过 MVVM 绑定(bind)。 例如,有一个 int 属性,我将 1 添加到 setter 中的值并调用 OnPropertyChanged
我想向 Youtube Data API 提出请求,但我不需要访问任何用户信息。我只想浏览公共(public)视频并根据搜索词显示视频。 我可以在未经授权的情况下这样做吗? 最佳答案 YouTube
我已经设置了一个 Twilio 应用程序,我想向人们发送更新,但我不想回复单个文本。我只是想让他们在有问题时打电话。我一切正常,但我想在发送文本时显示传入文本,以确保我不会错过任何问题。我正在使用 p
我有一个带有表单的网站(目前它是纯 HTML,但我们正在切换到 JQuery)。流程是这样的: 接受用户的输入 --- 5 个整数 通过 REST 调用网络服务 在服务器端运行一些计算...并生成一个
假设我们有一个名为 configuration.js 的文件,当我们查看内部时,我们会看到: 'use strict'; var profile = { "project": "%Projec
这部分是对 Previous Question 的扩展我的: 我现在可以从我的 CI Controller 成功返回 JSON 数据,它返回: {"results":[{"id":"1","Sourc
有什么有效的方法可以删除 ios 中 CBL 的所有文档存储?我对此有疑问,或者,如果有人知道如何从本质上使该应用程序像刚刚安装一样,那也会非常有帮助。我们正在努力确保我们的注销实际上将应用程序设置为
我有一个 Rails 应用程序,它与其他 Rails 应用程序通信以进行数据插入。我使用 jQuery $.post 方法进行数据插入。对于插入,我的其他 Rails 应用程序显示 200 OK。但在
我正在为服务于发布请求的 API 调用运行单元测试。我正在传递请求正文,并且必须将响应作为帐户数据返回。但我只收到断言错误 注意:数据是从 Azure 中获取的 spec.js const accou
我是一名优秀的程序员,十分优秀!