我被困在这里,我执行查询:
public function findByFile_Ref_Id($query)
{
$query = $query['ids'];
$q = $this->createQueryBuilder('h');
$result = $q
->join('h.file_ref_id', 'k')
->add('where', $q->expr()->in('k.product_code', $query))
->getQuery()
->getResult();
return $result;
}我得到了这样的东西:
阵列:5[ 0 => HikashopFile {#417 -file_id: 2207 -file_path:"1TAHBIO.jpg“ -file_ref_id: KstoreHikashopProduct {#363 +isInitialized:真 -product_id: 6 -product_name:"Tahina bio“ -product_description:“ La Tahinaèuna crema di sesamo biologica.Rafforza il sistema免疫组织免疫组织,▶ -product_quantity: 3 -product_code:“1 1TAHBIO”…2}
我想访问目标实体的方法来执行一些任务。
但当我尝试的时候我得到:
App\Entity\HikashopFile::getFileRefId()的返回值必须为int或null类型,对象返回
或
试图调用类的未定义方法"getProductName“"App\Entity\HikashopFile”。
很明显我的代码有问题。
我会很感激你的帮助!
发布于 2019-11-21 12:58:04
检查您的"getProductName“实体中是否有一个名为"HikashopFile”的方法,如果没有,则创建它,如果是,则,,删除它,生成getter和setters
发布于 2019-11-21 13:01:37
您的方法getFileRefId()肯定在类型级别上等待返回int或null,如下所示:
public function getFileRefId(): ?int
{
return $this->fileRefId;
}试着移除打字,也许会有效。
我认为您对您的实体之间的关系有问题,因为您希望获得其他表的Id,但是根据理论,它会给出与标识符相对应的对象。
检查原则文档:Doc学说
https://stackoverflow.com/questions/58974577
复制相似问题