原则 2 - 持久错误 - 警告:spl_object_hash() 期望参数 1 为对象,给定 null

2024-01-01

我在 DOctrine 中创建了这样的条目。我正在尝试将购物车添加到 page 。 这是我的实体: 我的实体:

<?php

namespace App\Entity;
use Doctrine\Common\Collections\ArrayCollection;
/**
 * @Entity(repositoryClass="App\Repository\Page")
 * @Table(name="page")

 */
class Page
{
    /**
     * @Id @Column(type="integer", name="p_id")
     * @GeneratedValue
     */
    private $p_id;
    /** @Column(type="string", name="p_title") */
    private $p_title;
    /** @Column(type="datetime", name="p_created") */
    private $p_created_at;
    /** @Column(type="datetime", name="p_updated_at") */
    private $p_updated_at;
    /** @Column(type="text", name="p_abstract") */
    private $p_abstract;
     /** @Column(type="text", name="p_fulltext", nullable=false) */
    private $p_fulltext;
     /** @Column(type="string", name="p_author", nullable=true) */
    private $p_author;
     /** @Column(type="string", name="p_url",nullable=true) */
    private $p_url;
     /** @Column(type="string", name="p_meta_title",nullable=true) */
    private $p_meta_title;
     /** @Column(type="string", name="p_meta_keywords",nullable=true) */
    private $p_meta_keywords;
     /** @Column(type="string", name="p_meta_description",nullable=true) */
    private $p_meta_description;
      /** @Column(type="string", name="p_status") */
    private $p_status;
    /** @Column(type="string", name="p_weight") */
    private $p_weight; 
    /**
     * @ManyToOne(targetEntity="User", inversedBy="pages")
     * @JoinColumn(name="p_u_id", referencedColumnName="u_id")
    */
    private $user;

    /**
     * @OneToMany(targetEntity="App\Entity\Page\Basket", mappedBy="page", cascade={"persist", "remove"})
     */
    protected $pageBaskets;


    public function __construct()
    {
       $this->pageBaskets = new ArrayCollection();
       $this->pageMedia = new ArrayCollection();
    }
    public function __get($property)
    {
        return $this->property;
    }
    public function __set($property,$value)
    {
        $this->$property = $value;
    }
    public function getPageMedia()
    {
        return $this->pageMedia;
    }
    public function setUser(\App\Entity\User $user)
    {
        $this->user = $user;
    }
    public function getMedias()
    {
       return $this->pageMedia;
    }
    public function getPageBaskets()
    {
        return $this->pageBaskets;
    }
    /**
     * Set Page Values
     * @var array $values
     */
    public function setPageProperties(array $values)
    {
        $this->p_updated_at =  new \DateTime("now");
        $this->p_title = $values['p_title'];
        $this->p_abstract = $values['p_abstract'];
        $this->p_meta_title = $values['p_meta_title'];
        $this->p_meta_keywords = $values['p_meta_keywords'];
        $this->p_meta_description = $values['p_meta_description'];
        $this->p_url = $values['p_url'];
        $this->p_fulltext = $values['p_abstract'];
        $this->p_author = '';
        $this->p_status = 1;

    }
    public function getSimpleValues()
    {
        return array(
            'p_updated_at' =>  $this->p_updated_at,
            'p_title' => $this->p_title,
            'p_abstract' =>  $this->p_abstract,
            'p_meta_title' => $this->p_meta_title,
            'p_meta_keywords' => $this->p_meta_keywords,
            'p_meta_description' => $this->p_meta_description,
            'p_url' => $this->p_url,
            'p_fulltext' =>  $this->p_fulltext,
            'p_author' => $this->p_author
        );
    }
}

?>


<?php
namespace App\Entity\Page;
use Doctrine\Common\Collections\ArrayCollection;

/**
 * @Entity
 * @Table(name="page_basket")

 */
class Basket
{
    /**
     * @Id @Column(type="integer", name="pb_id")
     * @GeneratedValue
     */
    private $pb_id;
    /**
     * @ManyToOne(targetEntity="Entity\Page", )
     * @JoinColumn(name="pb_id", referencedColumnName="p_id")
    */
    private $page;


    public function __construct()
    {

    }
    public function __get($property)
    {
        return $this->property;
    }
    public function __set($property,$value)
    {
        $this->$property = $value;
    }
    public function setPage($page)
    {
        $this->page = $oszpage;
    }
}

?>

但是在哪里做这样的事情:

 $page->getPageBaskets()->add($basket);

我越来越 : 警告:spl_object_hash() 期望参数 1 为对象,给定为 null

我做错了什么?


Best to follow the examples in the manual until you get more comfortable.放下魔法_get/_set 方法。 D2 依靠拦截方法调用来完成它的工作。将数组集合视为数组并构建与实体交互的特定方法。

具体来说:

public function addPageBasket($pageBasket)
{
    $this->pageBaskets[] = $pageBasket;
}
...
$page->addPageBasket($pageBasket);

附言。对于您的特定问题,$basket 很可能不是一个对象。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

原则 2 - 持久错误 - 警告:spl_object_hash() 期望参数 1 为对象,给定 null 的相关文章

  • Doctrine QueryBuilder 和 concat 问题

    我有以下代码 它依赖于 Doctrine 的 QueryBuilder API 来生成 DQL 语句 class PlayerRepository extends EntityRepository public function findB
  • 正确使用 zend 框架中的语言

    我有一个带有两个模块 管理和公共 的 Zend 应用程序 对于公共 我有以下插件来解析我的友好 URL class Custom Controller Plugin Initializer extends Zend Controller P
  • Symfony2 Doctrine2 内存泄漏/超出内存限制

    我在symfony2和doctrine2的结合上遇到了很多麻烦 我必须处理巨大的数据集 大约 2 3 百万次写入和读取 并且必须做大量额外的工作以避免内存不足 我找出了两个要点 即 泄漏 内存 它们实际上并不是真正泄漏 而是分配了很多内存
  • file_get_contents:无法设置本地证书链文件

    我们使用 Composer 来升级 Satis 的依赖项 最近的服务器升级后 我们无法这样做 缩小可能的原因后 我们发现 file get contents php 函数在尝试建立 ssl 连接时失败 我们使用以下脚本来测试我们的 ssl
  • Symfony2 覆盖 User.orm.xml

    我需要覆盖这个 Symfony vendor friendsofsymfony user bundle FOS UserBundle Resources config doctrine model User orm xml 文件
  • 在 View 中使用 Zend_Acl 来显示/隐藏部分视图的方法是什么

    我想知道使用 Zend Acl 来显示 隐藏部分视图的方法是什么 我想我会的 创建一个Controller Plugin 传递登录用户 acl来查看 this gt view gt loggedInUser Zend Auth getIde
  • Zend Framework 路由:.html 扩展名

    我知道我以前见过这样做 但我在任何地方都找不到信息 我需要能够在 Zend Framework 中使用 html 扩展名进行路由 IE controller action html 应路由到适当的控制器 操作 我们有一个想法 用 htacc
  • ZF2:如何从自定义类内部获取 ServiceManager 实例

    我无法弄清楚如何从自定义类内部获取 ServiceManager 实例 在控制器内部很简单 this gt getServiceLocator gt get My CustomLogger gt log 5 my message 现在 我创
  • Doctrine2大合集

    在过去的几天里 我一直在玩doctrine2 ZF 设置 我仍然无法弄清楚的一件事是大型数组集合关联 例如 假设我们有一个名为 Post 的实体 每个帖子可以有很多评论 现在 如果我这样做 这将加载所有评论 post gt comments
  • 值得学习的优秀 Zend Framework 示例应用程序 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Zend,Application.ini 中的全局变量?

    我有一个问题 因为我需要一个全局静态变量 并且我有一个问题是否有可能将其添加到 application ini 文件中 该怎么做 或者我必须 使用静态变量创建抽象类 在 Zend Registry 中注册它 以便从所有应用程序访问该变量 在
  • 在 Google Analytics 中准确报告通过 PayPal 进行的付款的推荐人

    在我们的 Google Analytics 电子商务中 PayPal 被视为推荐人 我发现许多文章概述了 utmnooveride 的使用 以确保 PayPal 交易传递数据 以便原始推荐人获得信用 我们使用 PayPal 处理我们的信用卡
  • 我如何解决语义错误:“类没有名为..”的关联

    我正在关注 symblog symfony2 教程的第 5 部分 http tutorial symblog co uk docs customising the view more with twig html 标题下 主页 博客和评论
  • 如何设置外键id的id #sf2 #doctrine2

    我正在尝试手动为对象设置外键 id 但没有找到如何执行此操作 class Item ORM ManyToOne targetEntity MyBundle Entity ItemType inversedBy itemTypes ORM J
  • 如何在createQueryBuilder中使用通配符?

    在我的存储库类中 我使用 public function getItemsByTag tag qb this gt createQueryBuilder c gt select c gt where c tags LIKE bipolar
  • Symfony:为什么 isInitialized 总是 false?

    我用教义查询了一个用户 customer this gt getDoctrine gt getRepository DemoUserBundle Customer gt find 1 但我得到了结果 顾客 1441 已初始化 错误的 ID
  • Zend 框架 PDF 问题

    又是我 伙计们 我有一个小问题 Create new PDF pdf new Zend Pdf Add new page to the document page pdf gt newPage Zend Pdf Page SIZE A4 p
  • 在非持久字段更改上保留实体

    我有一个具有 plainPassword 和密码属性的实体 在表单中 我映射到 plainPassword 之后 当用户验证表单时 我对 plainPassword 进行密码验证 为了对密码进行编码 我使用了监听 prePersist 和
  • Doctrine 装置如何覆盖 purger 类?

    From doctrine fixture bundle the console doctrine fixtures load n命令定义如下 https github com doctrine DoctrineFixturesBundle
  • 如何在 Zend Framework 中处理移动设备?

    我接手了一个噩梦般的项目 我正在迁移一个写得很差的站点 并慢慢地将其迁移到 Zend Framework 应用程序中 不幸的是 我没有时间做补救工作 使这变得可以忍受 也许是一个或两个模型 我现在被告知该网站很快就会有移动版本 建议是克隆旧

随机推荐