Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何访问单向多通关联的目标实体的方法_Mysql_Database_Symfony_Symfony4 - Fatal编程技术网

Mysql 如何访问单向多通关联的目标实体的方法

Mysql 如何访问单向多通关联的目标实体的方法,mysql,database,symfony,symfony4,Mysql,Database,Symfony,Symfony4,我被困在这里执行查询: 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',

我被困在这里执行查询:

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▼

-档案编号:2207

-文件路径:“1TAHBIO.jpg”

-文件参考id:KstoreHikashopProduct{#363▼

+已初始化:真

-产品编号:6

-产品名称:“塔希纳生物”

-产品描述:“La Tahinaèuna crema di sesamo Biologia.Rafforza il sistema immunitario grazie alla presenza di sali e 维生素,不含钙质成分,▶"

-产品数量:3

-产品代码:“1TAHBIO”…2}

我想访问该目标实体的方法来执行一些任务

但当我尝试时,我得到:

App\Entity\HikashopFile::getFileRefId()的返回值必须为 类型int或null,返回对象

试图调用类的名为“getProductName”的未定义方法 “App\Entity\HikashopFile”

我的代码显然有问题


非常感谢您的帮助!

请检查您的“HikashopFile”实体中是否有名为“getProductName”的方法,如果没有请创建它如果是请删除它并生成getter和setter您的方法getFileRefId()肯定在等待在键入级别返回int或null,如:

public function getFileRefId(): ?int 
{
     return $this->fileRefId;
}
尝试删除键入,也许它会工作

我认为您的实体之间的关系存在问题,因为您希望获取其他表的Id,但对于条令,它将为您提供与标识符对应的对象

检查条令文件:

条令orm(此处使用)正在使用对象,而我目前看到的情况表明您正在使用id。您的
文件\u ref\u id
属性也不使用setter,因此您的
属性包含一个
HikashopProduct
对象而不是id。但是,
getFileRefId
函数应该返回int或null(根据错误消息,这可能源于函数签名)。可能有很多代码气味。。。