gpt4 book ai didi

symfony - 检查实体属性是否存在

转载 作者:行者123 更新时间:2023-12-04 16:57:40 27 4
gpt4 key购买 nike

我有一个类似 example.org/overview/<column>/<value> 的 URL (例如: example.org/overview/color/red )这将导致在列“颜色”中搜索值“红色”。这是实体:

<?php
namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;

// @ORM\Entity(repositoryClass="App\Repository\CarRepository")
class Car
{
// @ORM\Column(type="string", length=255)
private $name;
private $color;

[...]

我想我应该在开始数据库查询之前检查实体属性是否存在。当有人打电话时如何查看 example.org/overview/foo/bar如果 foo是有效的 db 列(= 实体属性)吗? Symfony 是否提供了一个简单的解决方案?如果情况并非如此,我想我必须使用硬编码的白名单。

最佳答案

你可以像这样使用 getClassMetadata:

$columns = $em->getClassMetadata(Car::class)->getColumnNames();

if (in_array($property, $columns)) {
//property exists, code here
}

你也可以试试: getFieldNames而不是 getColumnNames

关于symfony - 检查实体属性是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50621048/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com