我正在使用 Symfony 和 Doctrine,我需要比较来自 JSON 的对象是否与数据库中的对象具有相同的属性。
所以我已经正确地完成了所有事情,但是由于我是 PHP 的新手,我无法访问我的对象的属性,因为我不知道如何将上一行转换为 Product。
$oldProduct = new Product();
$oldProduct = $repo->findBy( array('nom' => $product->getNom()));
$oldProduct->
我尝试添加
$oldProduct = Product::$repo->findBy( array('nom' => $product->getNom()));
但这不起作用
我确定它已经得到了回答,但我找不到关键字来解决类似的问题。
提前致谢
您可以通过添加强制类型转换:
$oldProduct = $repo->findBy(array('nom' => $product->getNom()));
/* @var Product $oldProduct */
$oldProduct->myAutoCompletedFunction...
或者:
$oldProduct = $repo->findBy(array('nom' => $product->getNom()));
if (!$oldProduct instanceof Product) {
throw new \LogicException('Old product not found.');
}
$oldProduct->myAutoCompletedFunction...
第二个版本更好,因为它不会对静态分析器发出警告。
PS:请注意,您可以将包含@var
注释的块放在第一行的末尾,而不是为它添加一行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句