- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试在 ZF2 和 Doctrine 2 中使用类表继承。我的实现非常简单。我想我已经设置好了类结构,但我认为某处的某些设置可能存在问题。不幸的是,我找到了很多关于类设置的文档,但关于 YML 实现的文档并不多。每个人似乎都诉诸于使用学说工具来生成一切。根据设置方式,使用条令工具有点问题,尤其是在使用 ZF2 时。另外,我认为这是一个学习机会。所以,这就是我所拥有的:
当前问题:我没有从子类/表中获取任何数据:
.array(1) {
[0] =>
class MyCompany\Domain\Model\Customer\CustomerNote#2852 (9) {
protected $customer =>
NULL
protected $note =>
string(13) "Clever Note 1"
protected $id =>
string(1) "1"
protected $disabled =>
NULL
protected $modified =>
class DateTime#2884 (3) {
...
通用笔记类/表:
CREATE TABLE generic_notes
(
note_id serial NOT NULL,
discriminator character varying(255) NOT NULL,
note text,
created timestamp with time zone NOT NULL DEFAULT now(),
created_by_id bigint NOT NULL,
modified timestamp with time zone,
modified_by_id bigint,
disabled timestamp with time zone NOT NULL DEFAULT 'infinity'::timestamp with time zone,
CONSTRAINT generic_notes_pkey PRIMARY KEY (note_id),
CONSTRAINT generic_notes_created_by_id_fkey FOREIGN KEY (created_by_id)
REFERENCES users (user_id) MATCH SIMPLE
ON UPDATE CASCADE
ON DELETE RESTRICT,
CONSTRAINT generic_notes_modified_by_id_fkey FOREIGN KEY (modified_by_id)
REFERENCES users (user_id) MATCH SIMPLE
ON UPDATE CASCADE
ON DELETE RESTRICT
)
客户备注类/表(继承通用备注):
CREATE TABLE customer_notes
(
note_id bigint NOT NULL,
customer_id bigint NOT NULL,
CONSTRAINT customer_notes_pkey PRIMARY KEY (note_id),
CONSTRAINT customer_notes_note_id_fkey FOREIGN KEY (note_id)
REFERENCES generic_notes (note_id) MATCH SIMPLE
ON UPDATE RESTRICT
ON DELETE RESTRICT,
CONSTRAINT customer_notes_customer_id_fkey FOREIGN KEY (customer_id)
REFERENCES customers (customer_id) MATCH SIMPLE
ON UPDATE R1ESTRICT
ON DELETE RESTRICT
)
注释的 YML 映射:
MyCompany\Domain\Model\Note:
type: entity
table: generic_notes
inheritanceType: JOINED
discriminatorColumn:
name: discriminator
type: string
length: 255
discriminatorMap:
customer: MyCompany\Domain\Model\Customer\CustomerNote
id:
id:
column: note_id
type: bigint
generator:
strategy: IDENTITY
fields:
note:
type: text
nullable: true
created:
type: datetimetz
modified:
type: datetimetz
nullable: true
disabled:
type: datetimetz
nullable: true
manyToOne:
createdBy:
targetEntity: MyCompany\Domain\Model\User
joinColumn:
name: created_by_id
referencedColumnName: user_id
modifiedBy:
targetEntity: MyCompany\Domain\Model\User
joinColumn:
name: modified_by_id
referencedColumnName: user_id
客户备注映射:
MyCompany\Domain\Model\Customer\CustomerNote:
type: entity
table: customer_notes
manyToOne:
customer:
targetEntity: MyCompany\Domain\Model\Customer
inversedBy: customerNote
joinColumn:
name: customer_id
referencedColumnName: customer_id
通用笔记实体
<?php
namespace MyCompany\Domain\Model;
use MyCompany\Domain\Model\Entity\AbstractEntity;
use MyCompany\Domain\Model\Entity\DisabledTrait;
use MyCompany\Domain\Model\Entity\TimestampedInterface;
use MyCompany\Domain\Model\Entity\TimestampedTrait;
/**
* Class Note
*
* @package MyCompany\Domain\Model
*/
class Note extends AbstractEntity implements TimestampedInterface
{
use DisabledTrait;
use TimestampedTrait;
/**
* @var string
*/
protected $note;
/**
* @param string $note
* @return $this
*/
public function setNote($note)
{
$this->note = $note;
return $this;
}
/**
* @return string
*/
public function getNote()
{
return $this->note;
}
}
客户备注实体:
<?php
namespace MyCompany\Domain\Model\Customer;
use MyCompany\Domain\Model\Note;
use MyCompany\Domain\Model\Customer;
/**
* Class CustomerNote
* @package MyCompany\Domain\Model\Customer
*/
class CustomerNote extends Note
{
/**
* @var \MyCompany\Domain\Model\Customer
*/
protected $customer;
/**
* @param \MyCompany\Domain\Model\Customer $customer
* @return $this
*/
public function setCustomer(Customer $customer)
{
$this->customer = $customer;
return $this;
}
/**
* @return \MyCompany\Domain\Model\Customer
*/
public function getCustomer()
{
return $this->customer;
}
}
通用笔记夹具数据:
generic_notes:
-
note_id: 1
discriminator: customer
note: Clever Note 1
created: "2012-01-23 05:43:21.000000"
created_by_id: 1
modified: "2012-01-24 05:43:21.000000"
modified_by_id: 2
disabled: null
客户备注夹具数据:
customer_notes:
-
note_id: 1
customer_id: 1
最佳答案
上面的一切都是完全有效的。看来我没有为客户注释单元测试包括我的注释夹具数据,反之亦然。所以,因为我自己的愚蠢而陷入困境。
关于php - Doctrine 2类表继承YML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18699509/
我有一台 MySQL 服务器和一台 PostgreSQL 服务器。 需要从多个表中复制或重新插入一组数据 MySQL 流式传输/同步到 PostgreSQL 表。 这种复制可以基于时间(Sync)或事
如果两个表的 id 彼此相等,我尝试从一个表中获取数据。这是我使用的代码: SELECT id_to , email_to , name_to , status_to
我有一个 Excel 工作表。顶行对应于列名称,而连续的行每行代表一个条目。 如何将此 Excel 工作表转换为 SQL 表? 我使用的是 SQL Server 2005。 最佳答案 这取决于您使用哪
我想合并两个 Django 模型并创建一个模型。让我们假设我有第一个表表 A,其中包含一些列和数据。 Table A -------------- col1 col2 col3 col
我有两个表:table1,table2,如下所示 table1: id name 1 tamil 2 english 3 maths 4 science table2: p
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 1 年前。 Improve th
下面两个语句有什么区别? newTable = orginalTable 或 newTable.data(originalTable) 我怀疑 .data() 方法具有性能优势,因为它在标准 AX 中
我有一个表,我没有在其中显式定义主键,它并不是真正需要的功能......但是一位同事建议我添加一个列作为唯一主键以随着数据库的增长提高性能...... 谁能解释一下这是如何提高性能的? 没有使用索引(
如何将表“产品”中的产品记录与其不同表“图像”中的图像相关联? 我正在对产品 ID 使用自动增量。 我觉得不可能进行关联,因为产品 ID 是自动递增的,因此在插入期间不可用! 如何插入新产品,获取产品
我有一个 sql 表,其中包含关键字和出现次数,如下所示(尽管出现次数并不重要): ____________ dog | 3 | ____________ rat | 7 | ____
是否可以使用目标表中的LAST_INSERT_ID更新源表? INSERT INTO `target` SELECT `a`, `b` FROM `source` 目标表有一个自动增量键id,我想将其
我正在重建一个搜索查询,因为它在“我看到的”中变得多余,我想知道什么 (albums_artists, artists) ( ) does in join? is it for boosting pe
以下是我使用 mysqldump 备份数据库的开关: /usr/bin/mysqldump -u **** --password=**** --single-transaction --databas
我试图获取 MySQL 表中的所有行并将它们放入 HTML 表中: Exam ID Status Assigned Examiner
如何查询名为 photos 的表中的所有记录,并知道当前用户使用单个查询将哪些结果照片添加为书签? 这是我的表格: -- -- Table structure for table `photos` -
我的网站都在 InnoDB 表上运行,目前为止运行良好。现在我想知道在我的网站上实时发生了什么,所以我将每个页面浏览量(页面、引荐来源网址、IP、主机名等)存储在 InnoDB 表中。每秒大约有 10
我在想我会为 mysql 准备两个表。一个用于存储登录信息,另一个用于存储送货地址。这是传统方式还是所有内容都存储在一张表中? 对于两个表...有没有办法自动将表 A 的列复制到表 B,以便我可以引用
我不是程序员,我从这个表格中阅读了很多关于如何解决我的问题的内容,但我的搜索效果不好 我有两张 table 表 1:成员 id*| name | surname -------------------
我知道如何在 ASP.NET 中显示真实表,例如 public ActionResult Index() { var s = db.StaffInfoDBSet.ToList(); r
我正在尝试运行以下查询: "insert into visits set source = 'http://google.com' and country = 'en' and ref = '1234
我是一名优秀的程序员,十分优秀!