如果您想了解php–从Symfony1.4任务记录Doctrine查询和php实现简单的查询功能的知识,那么本篇文章将是您的不二之选。我们将深入剖析php–从Symfony1.4任务记录Doctrin
如果您想了解php – 从Symfony 1.4任务记录Doctrine查询和php实现简单的查询功能的知识,那么本篇文章将是您的不二之选。我们将深入剖析php – 从Symfony 1.4任务记录Doctrine查询的各个方面,并为您解答php实现简单的查询功能的疑在这篇文章中,我们将为您介绍php – 从Symfony 1.4任务记录Doctrine查询的相关知识,同时也会详细的解释php实现简单的查询功能的运用方法,并给出实际的案例分析,希望能帮助到您!
本文目录一览:- php – 从Symfony 1.4任务记录Doctrine查询(php实现简单的查询功能)
- php – Doctrine / Symfony:具有非映射属性的实体
- php – Doctrine – Symfony查询错误
- php – Symfony 2 Doctrine 2覆盖实体配置
- php – Symfony 2 Doctrine导出到JSON
php – 从Symfony 1.4任务记录Doctrine查询(php实现简单的查询功能)
我希望Symfony将我的一个任务执行的Doctrine SQL查询记录到日志文件中,就像Web调试工具栏对非cli代码一样.这可能吗?
> Symfony版本:1.4.12
>学说版本:1.2.4
这是一个任务的示例代码.我希望SELECT查询的记录方式与从动作调用它的方式类似.
class exampleTask extends sfBaseTask
{
protected function configure()
{
parent::configure();
$this->namespace = 'test';
$this->name = 'example';
}
protected function execute($arguments = array(), $options = array())
{
$databaseManager = new sfDatabaseManager($this->configuration);
$users = Doctrine_Core::getTable('SfGuardUser')
->createquery('s')
->select('s.first_name')
->execute();
foreach($users as $user) {
print $user->getFirstName()."\n";
}
}
}
解决方法:
尝试使用全局任务选项–trace(快捷键-t).喜欢:
./symfony --trace namespace:task
它会在数据库查询执行时记录它们.
不要忘记在正在运行任务的应用程序的settings.yml中启用日志记录.
因此,如果您在后端的开发环境中运行任务,则可以编辑apps / backend / config / settings.yml:
dev:
.settings:
logging_enabled: true
请注意,这也记录了异常的堆栈跟踪,如果您需要调试任务,这可能也非常有用.
php – Doctrine / Symfony:具有非映射属性的实体
我需要该属性作为临时值.因此,不应从数据库中提取或持久保存该属性.它既不应该是一个sql计算的值,我需要在PHP代码中设置(并获取)它.
class User { /** * @ORM\Id * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") */ protected $id; /** * @ORM\Column(type="array") */ protected $username; protected $notPersistedProperty }
希望这有帮助.
php – Doctrine – Symfony查询错误
我有一个错误,我不知道如何解决它.
$query = $entityManager->createquery("UPDATE AppBundle:ChangeAPI SET `key`='asd123' WHERE `id` = 1");
$query->execute();
我的AppBundle:ChangeAPI
/**
* @ORM\Entity
* @ORM\Table(name="api")
*/
class ChangeAPI
{
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* The date on which the shipment has been created
*
* @ORM\Column(type="string", name="key")
*/
protected $key;
/** Creates a new standard ride */
function __construct()
{
}
}
这是我的错误结果:
[Syntax Error] line 0, col 31: Error: Expected Doctrine\ORM\Query\Lexer::T_SET, got '`'
QueryException: [Syntax Error] line 0, col 31: Error: Expected Doctrine\ORM\Query\Lexer::T_SET, got '`'
QueryException: UPDATE AppBundle:ChangeAPI SET `key`='asd123' WHERE `id` = 1
有人能帮我吗?谢谢.
解决方法:
为什么不使用查询生成器:
$entityManager->createqueryBuilder()
->update('AppBundle:ChangeAPI', 'c')
->set('c.key', ':key')
->where('c.id = :id')
->setParameter('key', 'asd123')
->setParameter('id', 1)
->getQuery()
->execute();
完整参考http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/query-builder.html
php – Symfony 2 Doctrine 2覆盖实体配置
我有一个案例,我需要跨多个应用程序(位于同一个项目中)重用通用的doctrine实体.这些应用程序仅仅是相应机构使用的信息系统的实例.
我已将所有实体和存储库隔离到单独的包中,到目前为止它就像一个魅力.这是一个问题:我收到的要求是,只有部分实例需要支持其他一些功能.修改包括向某些实体添加新的归属/关系.
这是一个简短的例子:
我们有一所拥有众多教师单位的大学(即实例).信息系统的建立只是为了支持学士学位课程,但一个月前我们收到了支持专业和硕士学习的要求.他们希望处理所有他们认为相同的应用程序实例.这仅适用于其中一些实例.
问题:在保持原始功能的同时,有没有办法“覆盖”受影响的实体?我可以覆盖实体配置(YAML或注释,不重要)吗?我真的想保留代码库,而不是将所有实体/存储库复制到另一个包…
解决方法:
我不知道this意味着什么.看起来有可能但尚未记录.我不知道文档或代码是否正在进行中.
In this issue,stof表示根本不可能.
我认为你应该使用SCM分支.
php – Symfony 2 Doctrine导出到JSON
要获取我的实体我做:
$articles = $this->getDoctrine()->getRepository('UdoPaddujourBundle:MenuArticle')->findAll();
我必须告诉你:
$article = array(); $article = $articles->toArray();
给我以下错误:
Fatal error: Call to a member function toArray() on a non-object
同样的事情发生了
$article = $articles->exportTo('json');
我怎样才能创建一个json响应?
亲切的问候,
Cearnau Dan
编辑:
var_dump($articles)=
array(18) { [0]=> object(Udo\PaddujourBundle\Entity\MenuArticle)#50 (4) { ["id":"Udo\PaddujourBundle\Entity\MenuArticle":private]=> int(1) ["name":"Udo\PaddujourBundle\Entity\MenuArticle":private]=> string(17) "My Article Name 1" ["description":"Udo\PaddujourBundle\Entity\MenuArticle":private]=> string(26) "My Article Description 1" ["price":"Udo\PaddujourBundle\Entity\MenuArticle":private]=> float(20) } [1]=> ...
– 稍后编辑
我怎样才能遍历所有“属性名称”?
这就是我所拥有的:
$myarray=array(); $myArray["name"]=array(); $myArray["description"]=array(); foreach($articles in $article) { array_push($myArray["name"],$article->getName()); array_push($myArray["description"],$article->getDescription()); }
$em = $this->getDoctrine()->getEntityManager(); $query = $em->createquery('SELECT ma FROM UdoPaddujourBundle:MenuArticle ma ...etc'); $myArray = $query->getArrayResult();
然后是json_encode($myArray);有关详细信息,请参见here
关于php – 从Symfony 1.4任务记录Doctrine查询和php实现简单的查询功能的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于php – Doctrine / Symfony:具有非映射属性的实体、php – Doctrine – Symfony查询错误、php – Symfony 2 Doctrine 2覆盖实体配置、php – Symfony 2 Doctrine导出到JSON等相关内容,可以在本站寻找。
本文标签: