问题标签 [symfony-2.6]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
symfony - Symfony2 应用程序/控制台缓存:清除抛出 RuntimeException(设置了 $_SESSION)
由于某些原因,每次尝试执行时都会出错app/console cache:clear
[RuntimeException]
无法启动会话:已由 PHP 启动(设置了 $_SESSION)。
不幸的是,我没有找到任何有用的信息。我已经检查了php -i | grep session
设置,php.ini
但这些似乎没问题
任何想法如何解决这一问题 ?!
PS我目前的“肮脏的解决方法”rm -rf app/cache/prod/*
只是
javascript - Symfony 2.6 - 嵌入表单集合(ManyToMany)
我有两个实体,case和tags,具有多对多的关系。
- 案例实体 -@ORM\ManyToMany(targetEntity="Tag", inversedBy="case", cascade={"persist"})
private $tags;
@ORM\ManyToMany(targetEntity="Case", mappedBy="tags")
private $case;
当我通过复选框添加标签时,这工作正常。但我想通过收集表格来添加新标签(其中很多)。
我正在关注 symfony 食谱(http://symfony.com/doc/current/cookbook/form/form_collections.html)。
- CaseType.php -$builder
->add('title')
//...
->add('tags', 'collection', array(
'type' => new TagType(),
'allow_add' => true,
'by_reference' => false,
'allow_delete' => true,
));
{{ form_start(form) }}
<ul class="tags" data-prototype="{{ form_widget(form.tags.vars.prototype.name)|e }}">
{% for tag in form.tags %}
<li>{{ form_row(tag.name) }}</li>
{% endfor %}
</ul>{{ form_end(form) }}
这是来自 new.html.twig 的 JavaScript 代码,工作:http: //jsfiddle.net/7d8vLokn/1/
问题是当 new.html.twig 被渲染时,它只在页面底部显示 Tag 标签,没有其他内容。
编辑
我注意到 new.html.twig 中有两个数据原型,一个是我创建的(上面提到过),另一个是在页面底部自动创建的......空的:
php - 带有 ManyToOne 的 formtype 导致其他字段错误(null)
我正在尝试创建以下结构,但出现 1 个让我发疯的错误。
一个客户有很多张发票,一张发票属于一个客户
我使用 symfony2 表单类型,学说 orm 实体,
在发票实体中没有 OneToMany 的情况下,CRUD 工作正常,但在添加 OneToMany 关系后,创建和更新总是抛出空错误
数据库结构:
发票表 client_id 字段具有对客户表 id 字段的外键引用
控制器:
这是发票实体
这是客户实体
这是表单类型
这是错误消息
我不知道为什么 client_id($clientId) 会突然变为空,我使用浏览器检查检查元素隐藏的输入仍然存在
正如我看到的发票实体有
两者都针对同一个字段client_id,我觉得这是错误原因,但我不知道为什么也不知道如何解决,有什么想法吗?许多人欣赏
php - Symfony2 自动更新集合引用字段的更好方法
目前我可以进行更新,但不是自动更新,我觉得它很难看,我四处搜索,我认为还有另一种方法可以自动更新“参考”字段并计算每件商品的总价格(价格 * 数量)和存储到数据库中,例如
一个客户可以有很多发票,一张发票可以有很多项目
表结构:
客户端 - id(AI)、用户名、[……]
发票 - id(AI),client_id(refenrece(client.id)), [......]
invoice_item - id(AI),invoice_id(reference(invoice.id)), product, [.....]
我想要的是,每次我创建一个新发票时,我可以在页面中添加很多项目,然后当我提交时,插入新发票的操作,插入所有发票项目并更新invoice_item
. invoice_id
场地
目前我已经这样做了,但是用一种非常愚蠢的方式,我认为有更好的方法
我用谷歌搜索,我发现可以做以下事情,所以我试一试
发票实体:
这cascade
是我通过搜索谷歌找到的,这也在发票实体中
$item->setInvoice($this);
我也是从谷歌那里得到的,
我从控制器操作中删除循环并尝试,但没有运气(可能是我错过了什么),有一个错误
insert into invoice_item([.....], invoice_id) values([......], null), invoice_id cannot be null
控制器:
发票实体:
InvoiceItem 实体:
发票表格类型:
php - 无法使用 Mysql 连接到数据库
我已经开始学习 Symfony。在阅读了 Symfony 的文档后,我想尝试制作我的应用程序。我已经用一些数据创建了一个 mysql 数据库,但我无法在教义中连接到它。正如我在文档中所读到的,如果我想将我的数据库导入 orm,我必须执行以下命令:
但我收到消息
[Symfony\Component\Debug\Exception\UndefinedFunctionException]
试图从命名空间“Doctrine\DBAL\Driver\Mysqli”调用函数“mysqli_init”。
我在我的 flat-php 应用程序中成功使用了 mysqli,但不能在学说中使用。数据库连接的数据也是正确的。有任何想法吗?
php - 翻译在 Symfony2 中不起作用
我有一个包含法语翻译的文件,位于FooBundle/Resources/translations/messages.fr.xlf
例子:
但我似乎无法进行任何翻译工作,无论是在控制器中:
或树枝模板:
它总是显示Foo
(原始字符串)。
作为我的默认语言环境,我使用英语('en')。我的语言环境配置来自config.yml
:
我试图清理缓存,但没有任何区别。
如果我尝试调试翻译,则表明它们正在被使用:
知道这里出了什么问题吗?
symfony - Symfony 2.6 默认选中复选框
如何根据数据库中的数据默认检查复选框?
现在我的表格看起来像:
我想根据其他表中的数据为此复选框选择默认值。
symfony - 基于主机的错误页面
使用 Symfony2,可以很容易地根据主机匹配路由(详见http://symfony.com/doc/current/components/routing/hostname_pattern.html)。
我想根据主机有不同的错误页面。
example.com 上的
404 错误 -> test.com 上的一个布局 404 错误 -> 另一种布局
你会怎么做?
symfony - Symfony 为受限访问打开一个默认页面
当用户进入受限页面到 /register-as-guest 时,如何自动重定向用户?
我的错误解决方案:在security.yml
我设置
这可行,但是当用户在登录时输入错误的凭据时,它会被重定向到/register-as-guest
( login_path
) 但应该被重定向到/login
.
php - Symfony2 动态。密码编码
我正在尝试使用以下指南让自己的 UserBundle 在 sf 2.6.3 上工作:Symfony Book。
我已将该示例代码粘贴到用户实体中的 setPassword 方法中(但不知道这是否意味着要使用它),将其更改为适合(参见下面的代码)。
结果是,我收到错误“在类 [...] 中找不到字段容器”和“在类 [...] 中找不到方法 encodePassword”,但描述缺少要使用的容器...
我只是错过了一个使用语句,还是更复杂?我正在查找几个链接,但发现了几个使用容器的使用语句,所以我不知道哪个是正确的......有什么建议吗?
提前致谢 ;)