如何使用存储库方法findByxx关于在symfony中带下划线(x)的字段名
除此之外,我找不到解决问题的文档。 我想使用字段名如何使用存储库方法findByxx关于在symfony中带下划线(x)的字段名,symfony,doctrine,Symfony,Doctrine,除此之外,我找不到解决问题的文档。 我想使用字段名pay\u no,我想使用存储库 findbyxxx,但我不知道如何正确使用它。将您的属性名称更改为$payNo 可能在你的实体中是这样的 // This is my entity class object use Doctrine\ORM\Mapping as ORM; class PayOrder { /** * @ORM\Column(type="integer") * @ORM\Id * @ORM\G
pay\u no
,我想使用存储库
findbyxxx,但我不知道如何正确使用它。将您的属性名称更改为
$payNo
可能在你的实体中是这样的
// This is my entity class object
use Doctrine\ORM\Mapping as ORM;
class PayOrder {
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(type="string",unique=true)
*/
private $pay_no;
};
// I use it in my function, this is the Repository
use Doctrine\ORM\EntityManager;
use Exception;
use Psr\Container\ContainerInterface;
use Doctrine\ORM\Mapping;
class PayOrderRepository extends \Doctrine\ORM\EntityRepository {
public function get( PayOrder $payOrder ) {
$pay_no=$payOrder->getPayNo();
// It will occurs a exception, how to fix it, any one can help me?
return $this->findBypayno($pay_no);
}
};
//...
/**
* @ORM\Column(type="string", length=255)
*/
$pay_no
//....
这样改变它
// This is my entity class object
use Doctrine\ORM\Mapping as ORM;
class PayOrder {
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(type="string",unique=true)
*/
private $pay_no;
};
// I use it in my function, this is the Repository
use Doctrine\ORM\EntityManager;
use Exception;
use Psr\Container\ContainerInterface;
use Doctrine\ORM\Mapping;
class PayOrderRepository extends \Doctrine\ORM\EntityRepository {
public function get( PayOrder $payOrder ) {
$pay_no=$payOrder->getPayNo();
// It will occurs a exception, how to fix it, any one can help me?
return $this->findBypayno($pay_no);
}
};
//...
/**
* @ORM\Column(type="string", length=255)
*/
$pay_no
//....
此后,
$pay\u no
bin/控制台生成:实体--重新生成
//...
/**
* @ORM\Column(name="pay_no", type="string", length=255)
*/
$payNo
//....
findByX
方法只是截获的方法调用-请参阅将其转换为findBy
调用。强烈建议使用驼峰案例,为什么不使用它?无论如何。我不认为它会以这种方式工作,您可以为这个特定的请求创建自定义存储库方法谢谢您的回答!我也在这里调试代码,确切地说symfony在这里更改了真实的字段名,我现在有情况,url将发布名为“pay_no”的数据,我用PayOrder类构建了一个表单,顺便问一下,数据库列字段名也是pay_no,现在,处理这个问题的最佳方法是什么?谢谢你的回答!我也在这里调试代码,确切地说symfony在这里更改了真实的字段名,我现在有情况,url将发布名为“pay_no”的数据,我用PayOrder类构建了一个表单,顺便问一下,数据库列字段名也是pay_no,现在,处理这个问题的最佳方法是什么?谢谢你的回答!我也在这里调试代码,确切地说symfony在这里更改了真实的字段名,我现在有一个情况,url将发布名称为pay_no,我用PayOrder类构建了一个表单,顺便问一下,数据库列字段名也是pay_no,现在,处理这个问题的最佳方法是什么?正如Mert在另一个答案中所建议的()我会把字段改为payNo。请您在表格中详细说明您的问题好吗?我不知道你到底是什么意思。是的,但我不知道我应该告诉谁更具体,关于这个问题,你不清楚哪一点?我不理解url和表单的问题,但我会这样做:1。将付款人字段更改为$payNo
2。更新表单以使用payNo。如果您想在html表单中使用“pay_no”,您可以将表单字段命名为“pay_no”,然后使用表单选项“property_path”=>“pay no”
非常感谢!我认为使用属性路径是可以的,但是会产生另一个问题,当表单->handleRequest($request)调用表单->isvalid()时,表单将丢失PayOrder字段到$payNo验证,它将错过$payNo验证的部分。