小编mat*_*h88的帖子

在doctrine 2 doc示例中,拥有方和反方是什么

在这个关联映射页面上,有一个例子在manytomany部分.但我不明白哪个实体(组或用户)是拥有方.

http://docs.doctrine-project.org/en/2.0.x/reference/association-mapping.html#many-to-many-bidirectional

我也把代码放在这里

<?php
/** @Entity */
class User
{
    // ...

    /**
     * @ManyToMany(targetEntity="Group", inversedBy="users")
     * @JoinTable(name="users_groups")
     */
    private $groups;

    public function __construct() {
        $this->groups = new \Doctrine\Common\Collections\ArrayCollection();
    }

    // ...
}

/** @Entity */
class Group
{
    // ...
    /**
     * @ManyToMany(targetEntity="User", mappedBy="groups")
     */
    private $users;

    public function __construct() {
        $this->users = new \Doctrine\Common\Collections\ArrayCollection();
    }

    // ...
}
Run Code Online (Sandbox Code Playgroud)

我是否读过这样的注释:用户是映射组,所以组是进行连接管理的实体,因此是拥有方?

另外,我在文档中读到过这个:

For ManyToMany bidirectional relationships either side may be the owning side (the side  that defines the @JoinTable and/or …
Run Code Online (Sandbox Code Playgroud)

php doctrine-orm

15
推荐指数
2
解决办法
7321
查看次数

形成主题日期时间小部件Symfony 2

我喜欢在表单中'form-theme'我的日期时间小部件.我在其中创建了一个fields.html.twig文件:

{% block datetime_widget %}
{% spaceless %}
    <div {{ block('widget_container_attributes') }}>
        {{ '{{ day }}-{{ month }}-{{ year }}'|replace({
            '{{ day }}': form_widget(form.day),
            '{{ month }}': form_widget(form.month),
            '{{ year }}': form_widget(form.year),
        })|raw }}
        {{ form_widget(form.hour, { 'attr': { 'size': '1' } }) }} : {{ form_widget(form.minute, { 'attr': { 'size': '1' } }) }} : {{ form_widget(form.second, { 'attr': { 'size': '1' } }) }}
    </div>
{% endspaceless %}
{% endblock datetime_widget %}
Run Code Online (Sandbox Code Playgroud)

我在表单视图模板中输入了这一行

{% form_theme form 'AcmeDashboardBundle:Form:fields.html.twig' %} …
Run Code Online (Sandbox Code Playgroud)

symfony twig

13
推荐指数
1
解决办法
2万
查看次数

通过Twig扩展中的自定义存储库获取数据

我想在symfony 2 webapplication的每个页面上显示新的通知.我被建议使用Twig Extension.我在该扩展中创建了一个函数getFriendRequests,但我不知道在twig扩展中通过我的自定义存储库获取数据是否是一个好习惯:现在它给了我错误,它找不到getDoctrine方法.

<?php

namespace Tennisconnect\DashboardBundle\Extension;

class NotificationTwigExtension extends \Twig_Extension
{
    public function getFriendRequests($user)
    {
        $users = $this->getDoctrine()
            ->getRepository('TennisconnectUserBundle:User')
            ->getFriendRequests();
        return count($users);
    }

    public function getName()
    {
        return 'notification';
    }

    public function getFunctions()
    {
        return array(
            'getFriendRequests' => new \Twig_Function_Method($this, 'getFriendRequests'));
    }
}
Run Code Online (Sandbox Code Playgroud)

symfony doctrine-orm twig

11
推荐指数
1
解决办法
8775
查看次数

PhpMyAdmin保持重定向到登录屏幕

我在登录PhpMyAdmin时遇到了麻烦.当我输入我的凭据后按"登录"时,它会继续返回登录屏幕.几天前我可以完美登录.我不知道我做了什么导致了这一点.

我可以在shell中完美地登录mysql(mysql -D database -u user -ppassword).我的网站按预期运行.这可能是什么?

编辑:登录在Firefox中正常工作,但在Chrome或IE中无效.请参阅本主题中的回复#4:https://sourceforge.net/projects/phpmyadmin/forums/forum/72909/topic/4479151

谢谢.

phpmyadmin

7
推荐指数
1
解决办法
6006
查看次数

形成一个集合小部件

我的表单中有一个集合小部件.这显示如下:

球队0球员
1输入球场1球员2输入球场

我想不显示'团队'这个词,'0'和'1'.我在fields.html.twig模板中有这个块,但不确定如何编辑它.

{% block collection_widget %}
{% spaceless %}
    {% if prototype is defined %}
        {% set attr = attr|merge({'data-prototype': form_row(prototype) }) %}
    {% endif %}
    {{ block('form_widget') }}
{% endspaceless %}
{% endblock collection_widget %}

{% block form_label %}
{% spaceless %}
    <div class="hidden">
        {{ block('generic_label') }}
    </div>
{% endspaceless %}
{% endblock form_label %}
Run Code Online (Sandbox Code Playgroud)

ChallengeType表格:

class ChallengeType extends AbstractType
{
    public function buildForm(FormBuilder $builder, array $options)
    {
        $builder
            ->add('teams', 'collection', array(
                'type' => new TeamType(),
                'allow_add' …
Run Code Online (Sandbox Code Playgroud)

symfony twig

6
推荐指数
1
解决办法
4914
查看次数

在codeception.yml中使用参数占位符

我正在设置Codeception的Db模块,并希望使用Symfony 2的parameters.yml文件中的参数。

基本上是这样的:

paths:
    tests: tests
    log: tests/_log
    data: tests/_data
    helpers: tests/_helpers
settings:
    bootstrap: _bootstrap.php
    suite_class: \PHPUnit_Framework_TestSuite
    colors: true
    memory_limit: 1024M
    log: true
modules:
    config:
        Symfony2:
            app_path: 'app'
            var_path: 'app'
            environment: 'test'
        Db:
            dsn: "mysql:host='%test_database_host%';dbname='%test_database_name%'"
            user: "%test_database_user%"
            password: "%test_database_password%"
            dump: tests/_data/test_data.sql
Run Code Online (Sandbox Code Playgroud)

占位符(例如%test_database_user%)不会被Symfony 2的app / config目录中的parameters.yml文件中的值替换。

parameters.yml:

parameters:
    test_database_name: testdb
    test_database_host: 127.0.0.1
    test_database_user: root
    test_database_password: thisismypassword
Run Code Online (Sandbox Code Playgroud)

最好的方法是什么?

谢谢。

yaml symfony codeception

6
推荐指数
1
解决办法
835
查看次数

无法以 root 身份登录 MySQL 容器

我有一个像这样的 docker-compose 文件设置:

version: '3'
services:
  database:
  image: mysql:5.6
  volumes:
    - dbdata:/var/lib/mysql
  environment:
    - "MYSQL_DATABASE=my_database_name"
    - "MYSQL_USER=my_database_user"
    - "MYSQL_PASSWORD=my_database_password"
    - "MYSQL_ROOT_PASSWORD=my_root_password"
  ports:
    - "33061:3306"
Run Code Online (Sandbox Code Playgroud)

卷: dbdata:

我正在尝试使用 root 用户和密码登录 mysql cli 客户端(首先进入容器本身):

mysql -uroot -pmy_root_password
Run Code Online (Sandbox Code Playgroud)

但我不断收到此错误:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Run Code Online (Sandbox Code Playgroud)

mysql docker docker-compose

6
推荐指数
1
解决办法
5500
查看次数

如何填写富文本编辑器字段以进行Codeception Acceptance测试

我正在尝试在Codeception中的验收测试中填写富文本编辑器字段(TinyMCE).

使用该fillField()功能不起作用,因为此"字段"实际上不是输入字段.它是一个iframe样式,看起来像一个花哨的textarea.

如何将一些文本设置到TinyMCE框的主体中?我想我正在寻找一个$I->setContent(xpathOrCSS)功能的添加.或者还有其他事情可以做到这一点吗?

tinymce acceptance-testing rich-text-editor ckeditor codeception

5
推荐指数
2
解决办法
1846
查看次数

找不到PUT/api/users/id的路由

我试图通过从我的sencha touch 2前端调用put方法来更新我的mysql数据库中的记录.我正在调用此url/api/users/id,但我一直收到Symfony错误:

No route found for "PUT /api/users/1
Run Code Online (Sandbox Code Playgroud)

这是我在routing.yml文件中的内容

users:
    resource: "Acme\MainBundle\Controller\UsersController"
    prefix:   /api
    type:     rest
Run Code Online (Sandbox Code Playgroud)

另外,我在User*s*Controller中设置了putUsersAction

public function putUsersAction($id, Request $request)
{
    $values['birthdate'] = $request->get('birthdate');
    $values['clubid'] = $request->get('clubid');

    $em = $this->getDoctrine()->getEntityManager();

    $user = $this->getDoctrine()
        ->getRepository('AcmeMainBundle:User')
        ->find($id);

    $club = $this->getDoctrine()
        ->getRepository('AcmeMainBundle:Club')
        ->find($values['clubid']);

    $user->setBirthdate($values['birthdate']);
    $user->addClub($club);

    $em->flush();

    $view = View::create()
        ->setStatusCode(200)
        ->setData($user);

    return $this->get('fos_rest.view_handler')->handle($view);
}
Run Code Online (Sandbox Code Playgroud)

为什么Symfony告诉我没有PUT/api/users/id路由?

编辑1:路由器:调试输出

[router] Current routes
Name                     Method Pattern
_wdt                     ANY    /_wdt/{token}
_profiler_search         ANY    /_profiler/search
_profiler_purge          ANY    /_profiler/purge
_profiler_info           ANY    /_profiler/info/{about}
_profiler_import         ANY    /_profiler/import
_profiler_export …
Run Code Online (Sandbox Code Playgroud)

symfony

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

在view-file.blade.php中找不到类'Form'

我正在尝试在视图文件中呈现文本输入字段.我一直收到这个错误:在view-file.blade.php中找不到"类'表单'"

模板:

@extends('layouts.app')

@section('content')
    <h1>New</h1>

    {{ Form::open() }}
        {{ Form::text('my-name') }}
    {{ Form::close() }}
@endsection
Run Code Online (Sandbox Code Playgroud)

Composer.json

"require": {
    "php": ">=7.0.0",
    "fideloper/proxy": "~3.3",
    "laravel/framework": "5.5.*",
    "laravel/tinker": "~1.0",
    "laravelcollective/html": "^5.5.0"
},
Run Code Online (Sandbox Code Playgroud)

app.php(配置)

'providers' => [
    /*
     * Laravel Framework Service Providers...
     */
    Illuminate\Auth\AuthServiceProvider::class,
    Illuminate\Broadcasting\BroadcastServiceProvider::class,
    Illuminate\Bus\BusServiceProvider::class,
    Illuminate\Cache\CacheServiceProvider::class,

    Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
    Illuminate\Cookie\CookieServiceProvider::class,
    Illuminate\Database\DatabaseServiceProvider::class,
    Illuminate\Encryption\EncryptionServiceProvider::class,
    Illuminate\Filesystem\FilesystemServiceProvider::class,
    Illuminate\Foundation\Providers\FoundationServiceProvider::class,
    Illuminate\Hashing\HashServiceProvider::class,
    Illuminate\Mail\MailServiceProvider::class,
    Illuminate\Notifications\NotificationServiceProvider::class,
    Illuminate\Pagination\PaginationServiceProvider::class,
    Illuminate\Pipeline\PipelineServiceProvider::class,
    Illuminate\Queue\QueueServiceProvider::class,
    Illuminate\Redis\RedisServiceProvider::class,
    Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,
    Illuminate\Session\SessionServiceProvider::class,
    Illuminate\Translation\TranslationServiceProvider::class,
    Illuminate\Validation\ValidationServiceProvider::class,
    Illuminate\View\ViewServiceProvider::class,

    /*
     * Package Service Providers...
     */
    Collective\Html\HtmlServiceProvider::class,

    /*
     * Application Service Providers...
     */
    App\Providers\AppServiceProvider::class,
    App\Providers\AuthServiceProvider::class,
    // App\Providers\BroadcastServiceProvider::class,
    App\Providers\EventServiceProvider::class, …
Run Code Online (Sandbox Code Playgroud)

php laravelcollective laravel-5.5

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

错误:必须管理传递给选择字段的实体

首先:我得到的错误是:必须管理传递给选择字段的实体

我有这些实体: - 用户(属于一个或多个团队) - 团队(有一个或 2 个用户) - 挑战(有 2 个团队)

我想构建一个 ChallengeType 表单,用户可以在其中填写两个团队的两个用户并创建挑战。我想我需要一个嵌入式表单。

我制作了一个 TeamType Form 类:(我希望从中获得一个选择框,其中列出了所有用户)

<?php

namespace Tennisconnect\DashboardBundle\Form\Type;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;

class TeamType extends AbstractType
{
    public function buildForm(FormBuilder $builder, array $options)
    {
        $builder->add('players', 'entity', array(
            'class' => 'TennisconnectUserBundle:User',
            'multiple' => true
        ));
    }

    public function getName()
    {
        return 'team';
    }

    public function getDefaultOptions(array $options)
    {
        return array('data_class' => 'Tennisconnect\DashboardBundle\Entity\Team');
    }
}
Run Code Online (Sandbox Code Playgroud)

这是 ChallengeType 表单类:

<?php

namespace Tennisconnect\DashboardBundle\Form\Type;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;

class ChallengeType extends …
Run Code Online (Sandbox Code Playgroud)

php forms symfony

1
推荐指数
2
解决办法
6298
查看次数

检查在数据库中加密的双重电子邮件地址

人们可以在我的网站上注册时事通讯.他们的电子邮件地址和其他个人信息将在数据库中加密.

现在,对于那个注册表,我想检查新输入的电子邮件地址是否已经在我的数据库中,但由于所有电子邮件都已加密,我无法真正检查,除非我遍历每个可能的电子邮件地址,解密它,看看是否它匹配新输入的电子邮件?那是对的吗?或者有更有效的方法吗?

security encryption validation

0
推荐指数
1
解决办法
53
查看次数