您知道如何从我的控制器类中的实体声明中获取表名
实体类
<?php
namespace Acme\StoreBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
use Symfony\Component\Validator\Constraints as Assert;
/**
* Acme\StoreBundle\Entity\User
*
* @ORM\Table(name="users")
* @ORM\Entity
*/
class User
Run Code Online (Sandbox Code Playgroud)
我现在想获取User实体的表名,我将如何在Symfony2控制器中执行此操作?
我的Symfony2存储库类中有以下代码...
$query = $this->createQueryBuilder('foo')
->where('foo.bar = :id')
->setParameter('id', $myID)
->getQuery();
Run Code Online (Sandbox Code Playgroud)
如何获取数据库找到的行数?
提前致谢
我在Controller动作中设置了一些cookie,然后在另一个动作中我想要读取cookie集并对值进行一些操作.但是,在尝试读取cookie时,我看到的只是一个空数组,我的代码如下:
public function testSetCookieAction()
{
$value = 'ABCDEFGHI'
$cookie = new Cookie('SYMFONY2_TEST', $value, (time() + 3600 * 24 * 7), '/');
$response = new Response();
$response->headers->setCookie($cookie);
$response->send();
.
.
.
}
public function testReadCookieAction()
{
$response = new Response();
$cookies = $response->headers->getCookies();
// $cookies = array(0) { }
}
Run Code Online (Sandbox Code Playgroud)
当我var_dump($_COOKIE);,我看到array(1) { ["SYMFONY2_TEST"]=> string(9) "ABCDEFGHI" } 有人知道我做错了什么吗?
提前致谢
我已经创建了一个新的spring boot 1.4应用程序,希望尝试使用@DataJpaTest进行一些测试,但不断收到以下错误消息
引起:org.springframework.beans.factory.BeanCreationException:创建名为'dataSource'的bean时出错:init方法的调用失败; 嵌套异常是java.lang.IllegalStateException:无法确定测试的嵌入式数据库.如果你想要一个嵌入式数据库,请在类路径上放置一个受支持的数据库.
SRC /主/资源/ application.properties
spring.datasource.url=jdbc:mysql://localhost/my_db
spring.datasource.username=user
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
Run Code Online (Sandbox Code Playgroud)
MyRepositoryTest
@RunWith(SpringRunner.class)
@DataJpaTest
final public class MyRepositoryTest {
}
Run Code Online (Sandbox Code Playgroud)
的build.gradle
dependencies {
compile 'org.springframework.boot:spring-boot-starter-web',
'org.springframework.boot:spring-boot-starter-data-jpa',
'mysql:mysql-connector-java',
'org.projectlombok:lombok:1.16.10'
testCompile('org.springframework.boot:spring-boot-starter-test')
}
Run Code Online (Sandbox Code Playgroud)
我有什么想法吗?
我有以下代码:
namespace Acme\StoreBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Acme\StoreBundle\Entity\User
*
* @ORM\Table(name="users")
* @ORM\Entity()
*/
class User {
...
}
$user = new User();
Run Code Online (Sandbox Code Playgroud)
有谁知道我现在如何AcmeStoreBundle:User从User对象中获取实体名称()?
在Jquery中,我想通过更改变量名来禁用我想要的任何插件.但是,以下代码不起作用
function disablePlugin(functionName) {
$('#divID').functionName('disable')
}
disablePlugin('sortable');
Run Code Online (Sandbox Code Playgroud)
关于我如何设法做到这一点的任何想法?
我想为Entity类创建一些自定义注释,我在Doctrine2上遇到过这篇文章但是我不确定如何将它集成到我的Symfony包中,有人可以对此有所了解吗?
class User implements UserInterface
{
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*
* @myCustomVar(remember="true")
*/
protected $id;
Run Code Online (Sandbox Code Playgroud)
谢谢
在我的symfony2应用程序中,我有两个数据库连接,我想保持实体类是单独的,因此在一个包中有一组实体类,在另一个包中有另一组.但是,在尝试调用我的bundle时,由于某种原因未将其注册为Entity Namespace,错误如下:
Unknown Entity namespace alias 'AcmeStaffBundle'.
500 Internal Server Error - ORMException
Run Code Online (Sandbox Code Playgroud)
我已经找到了设置实体名称空间的位置,并且我发现它位于缓存文件中
$e = new \Doctrine\ORM\Configuration();
$e->setEntityNamespaces(array('AcmeStoreBundle' => 'Acme\\StoreBundle\\Entity'));
Run Code Online (Sandbox Code Playgroud)
我怎样才能将它添加到数组?
新编辑:
我的config.yml如下,这应该有助于澄清问题:
orm:
entity_managers:
default:
connection: default
mappings:
AcmeStoreBundle: ~
Foo:
connection: Foo
mappings:
AcmeFooBundle: ~
Run Code Online (Sandbox Code Playgroud)
提前致谢
有时,发布资产的命令会删除所有资产(直接形成包!!),而不是复制/符号化它们.
我尝试了这两个命令:
php app/console assets:install web
php app/console assets:install --symlink web
Run Code Online (Sandbox Code Playgroud)
两者都有时工作,但有些时候他们毁了一切,我不得不回到最后一个变化集(上帝保佑mercurial).他们甚至从框架和演示中删除了资产.
这是一个错误,还是我使用了错误的命令?
我认为应该清除web/bundles目录的代码片段存在一个错误.相反,它直接从包中删除所有内容(随机),例如:MyBundle/Resources/public
我正在尝试通过ZF2文档中有关HTTP身份验证适配器的Zend\Authentication\Adapter\Http说明来实现基于HTTP的身份验证.
我想阻止每个传入的请求,直到用户代理进行身份验证,但是我不确定如何在我的模块中实现它.
如何设置我的Zend\Mvc应用程序以拒绝访问我的控制器?
我在我的应用程序上设置了Doctrine多表继承 - 见下文
/**
* @Entity
* @InheritanceType("JOINED")
* @DiscriminatorColumn(name="type", type="string")
* @DiscriminatorMap({
* "news" = "News" ,
* "press_release" = "PressRelease"})
*
* @table(name="pages")
*/
class PressRelease extends Page {...}
class News extends Page {...}
Run Code Online (Sandbox Code Playgroud)
我的自定义存储库查询
$query = $this->getEntityManager()->createQuery('SELECT u FROM MyStoreBundle:User u
LEFT JOIN u.page p
WHERE p INSTANCE OF :newsType'
)->setParameter('newsType', new News());
Run Code Online (Sandbox Code Playgroud)
我认为这会工作,但我不断收到以下错误:
Notice: Undefined index: id in /path/to/Symfony/vendor/doctrine/orm/lib/Doctrine/ORM/AbstractQuery.php line 282
Run Code Online (Sandbox Code Playgroud)
显然我的News实体没有一个id字段,因为这是在扩展Page具有id定义属性的类时继承的,有谁知道我做错了什么?
提前致谢
我是Zend框架的新手,并决定尝试使用ZF2构建一个简单的应用程序.
我有一个日期从数据库中拉出我的表网关扩展AbstractTableGateway,这是正确地拉我的数据但我想使用Zend_Date格式化我的日期而不是在我的模型/视图中操纵字符串表示.
有没有人对我这样做有什么想法?
symfony ×7
doctrine-orm ×6
php ×4
assets ×1
cookies ×1
dql ×1
java ×1
jquery ×1
spring-boot ×1
view-helpers ×1