标签: symfony

如何在Symfony 2中将app_dev.php添加到资产

我在用:

{{ asset('contact') }} (e.g.) 
Run Code Online (Sandbox Code Playgroud)

生成我的联系页面的URL,输出:

http://localhost.project/contact.
Run Code Online (Sandbox Code Playgroud)

但我正处于发展环境中.

如何为开发环境制作资产显示网址?

应该是:

http://localhost.project/web/app_dev.php/contact
Run Code Online (Sandbox Code Playgroud)

http://localhost.project/web/contact
Run Code Online (Sandbox Code Playgroud)

url assets symfony

-3
推荐指数
1
解决办法
2261
查看次数

无效参数:查询中未定义令牌帐户

我定义了两个查询构建器。

第一:返回用户的所有帐户。

秒数:按帐户返回所有用户交易。

第一的:

public function getAccountsList($user)
{
    return $this->getAccountRepository()
        ->createQueryBuilder('a')
        ->select('a')
        ->where('a.user = :user')
        ->setParameter('user', $user)
        ->getQuery()
        ->getResult();
}
Run Code Online (Sandbox Code Playgroud)

第二:

 public function  getTransactionsList($user)
{
    $accounts = $this->getAccountsList($user);

    $query = $this->getTransactionRepository()
        ->createQueryBuilder('t')
        ->select('t')
        ->where('t.account IN (:accounts)')
        ->setParameter('account', $accounts)
        ->getQuery()
        ->getResult();

    return $query;
}
Run Code Online (Sandbox Code Playgroud)

第一个工作完美,但第二个抛出错误:

无效参数:查询中未定义令牌帐户

如何修复它?

php query-builder symfony doctrine-orm symfony-3.4

-3
推荐指数
1
解决办法
4415
查看次数

如何在symfony2项目中添加angularjs

我在symfony中安装已经创建的角度有问题是否有文档或教程?谢谢

symfony angularjs

-4
推荐指数
1
解决办法
1560
查看次数

如何在不使用注释的情况下为自定义 DTO 操作配置标识符?

基于 DTO 创建了一个非常简单的资源。所有逻辑都将通过自定义提供DataProvider,并且该项目不使用注释。

资源的配置是:

<resources xmlns="https://api-platform.com/schema/metadata">
    <resource class="App\Domain\Dto\ProductUpgradePrice">

        <collectionOperations>
            <collectionOperation name="get"/>
        </collectionOperations>

        <itemOperations>
            <itemOperation name="get"/>
        </itemOperations>

    </resource>
</resources>
Run Code Online (Sandbox Code Playgroud)

实际的DTO是:

<?php declare(strict_types=1);

namespace App\Domain\Dto;

/** @psalm-immutable */
class ProductUpgradePrice
{

    public function __construct(
        public string $productId,
        public int $regularPrice,
        public int $upgradePrice
    ) {}

}
Run Code Online (Sandbox Code Playgroud)

当我尝试时,GET /api/product_upgrade_prices我得到:

没有为 App\Domain\Dto\ProductUpgradePrice 类型的资源定义标识符

这是有道理的。

文档提到使用注释@ApiProperty但正如我之前提到的,这个项目没有注释。(自从我发布问题以来,我提交了一个 PR 来更新文档,该问题已合并,所以希望未来的用户不会遇到同样的情况)

我尝试将其添加到资源配置中:

<property name="productId">
    <attribute name="identifier">true</attribute>
</property>
Run Code Online (Sandbox Code Playgroud)

但得到了相同的结果。

在不使用注释的情况下如何配置它?

php symfony api-platform.com

-4
推荐指数
1
解决办法
393
查看次数