小编dj_*_*ssi的帖子

正则表达式在PhpStorm中用小写字母替换大写字母

嘿,我必须在很多地方改变camelCase到snail_case.

我有以下示例:

billingAddress
paymentDetails
Run Code Online (Sandbox Code Playgroud)

我试图在PhpStorm中使用find和替换正则表达式

在'find'输入字段中我输入:

([A-Z])
Run Code Online (Sandbox Code Playgroud)

在"替换"输入字段中我输入:

_\L$1
Run Code Online (Sandbox Code Playgroud)

结果我得到了:

billing_LAddress
payment_LDetails
Run Code Online (Sandbox Code Playgroud)

为了获得以下结果,我需要更改什么:

billing_address
payment_details
Run Code Online (Sandbox Code Playgroud)

regex phpstorm

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

doctrine2映射覆盖从MappedSuperclass继承的inversedBy字段

另一个问题.我有一个抽象的BaseLog实体,它保持与我的用户的关联.此外,我有2个实体(FooLog和BarLog),它们扩展了BaseLog.另外我有我的用户实体,假设有两个与Log的关联.一个用于FooLog,一个用于BarLog.这是我的问题.我收到错误消息,因为我不知道如何在扩展实体时覆盖BaseLog的inversedBy字段.请你帮助我好吗.

因为我认为我的解释不是很好,这里是我的实体的设置.

BaseLog

/** @ORM\MappedSuperclass */
abstract class BaseLog {
  /**
   * @ORM\ManyToOne(targetEntity="User", inversedBy="logs")
   * @ORM\JoinColumns({
   *   @ORM\JoinColumn(name="user_id", referencedColumnName="id", nullable=true, onDelete="SET NULL")
   * })
   */
  private $user;
}
Run Code Online (Sandbox Code Playgroud)

FooLog

/** @ORM\Entity */
class FooLog extends BaseLog {
  // Some additional fields
}
Run Code Online (Sandbox Code Playgroud)

BarLog

/** @ORM\Entity */
class BarLog extends BaseLog {
  // Some additional fields
}
Run Code Online (Sandbox Code Playgroud)

用户

/** @ORM\Entity */
class User {
  /**
   * @ORM\OneToMany(targetEntity="FooLog", mappedBy="user", cascade={"persist"})
   */
  private $fooLogs;

  /**
   * @ORM\OneToMany(targetEntity="BarLog", mappedBy="user", cascade={"persist"})
   */
  private $barLogs;
} …
Run Code Online (Sandbox Code Playgroud)

mapping orm symfony doctrine-orm

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

JSON Schema 验证:验证对象数组

我开始关注 JSON 并想对其进行验证。

[
    {
        "remindAt": "2015-08-23T18:53:00+02:00",
        "comment": "Postman Comment"
    },
    {
        "remindAt": "2015-08-24T18:53:00+02:00",
        "comment": "Postman Comment"
    }
]
Run Code Online (Sandbox Code Playgroud)

我的架构目前看起来如下

{
    "type": "array",
    "required": true,
    "properties": {
        "type": "object",
        "required": false,
        "additionalProperties": false,
        "properties": {
            "remindAt": {
                "required": true,
                "type": "string",
                "format": "date-time"
            },
            "comment": {
                "required": true,
                "type": "string"
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是行不通的。即使我从 JSON ddata 中删除注释,它也会验证为真。我猜我的架构文件的结构是错误的。

为了验证我使用以下库 https://packagist.org/packages/justinrainbow/json-schema

请有人向我解释我做错了什么以及我如何正确验证给定的 JSON 数据?

提前致谢

php validation schema json jsonschema

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

标签 统计

doctrine-orm ×1

json ×1

jsonschema ×1

mapping ×1

orm ×1

php ×1

phpstorm ×1

regex ×1

schema ×1

symfony ×1

validation ×1