我有3个班级: <!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
<?php
include 'header.php';
include 'footer.php';
include '.\config.php';
?>
<head>
</head>
<body>
<div id="page-wrapper">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">Asset and Sim Details</h1>
</div>
<div class="col-lg-6">
<div class="panel panel-default">
<!-- /.panel-heading -->
<div class="panel-body">
<!-- Nav tabs -->
<ul class="nav nav-pills">
<li><a href="#Asset-pills" data-toggle="tab">Asset</a>
</li>
<li><a href="#Sim-pills" data-toggle="tab">Sim</a>
</li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
<div class="tab-pane fade in active" id="Asset-pills">
<div class="panel-body">
<div class="table-responsive">
<form name = "form" id = "form_1" action="store_asset.php" method = "POST" >
<div class = "col-lg-12">
<div class = "form-group">
<label>Device Name</label>
<select name = "device_name">
<option>Laptop</option>
<option>Mobile</option>
<option>Data Card</option>
</select>
</div>
<div class = "form-group">
<label>Company name</label>
<input class = "form-control" name = "company_name" pattern="[A-Za-z]{25}" type = "text" id = "company_name" placeholder = "Enter Company name" title = "Please Enter company name of Device" required="required" >
</div>
<div class = "form-group">
<label>Model Number</label>
<input class = "form-control" name = "model_number" pattern="[A-za-z0-9]{25}" type = "text" id = "model_number" placeholder = "Enter Model number" title = "Enter model number of Your Device " required="required">
</div>
<div class = "form-group">
<label>OS version</label>
<input class = "form-control" name = "os_version" pattern="[A-za-z0-9]{25}" id = "Os_versionid" placeholder = "Enter OS version detail" required="required" />
</div>
</div>
<div class = "col-lg-12">
<button type = "submit" class = "btn btn-primary" id = "submit" name = "sub" data-toggle = "modal" data-target = "#myModal">Submit</button>
<button type = "reset" class = "btn btn-primary">Reset</button>
</div>
</form>
</div>
</div>
</div>
<div class="tab-pane fade" id="Sim-pills">
<div class="panel-body">
<div class="table-responsive">
<form action="store_sim.php" method="POST">
<div class="col-lg-12">
<div class="form-group"><br>
<label>Type</label>
<select name="sim_type">
<option>Prepaid</option>
<option>Postpaid</option>
</select>
</div>
<div class="form-group">
<label>Simcard Number</label>
<input class="form-control" name="simcard_no" type="number" id="simcard_name" required="required" placeholder="Enter Simcard Number" title="Please Enter Simcard Number">
</div>
<div class="form-group">
<label>Service Provider</label>
<input class="form-control" name="service_provider" type="text" id="service_provider" required="required" placeholder="Enter Service provider name" title="Enter Service provider name ">
</div>
</div>
<div class="col-lg-12">
<button type="submit" class="btn btn-primary" id="submit" name="sub" data-toggle="modal" data-target="#myModal">Submit</button>
<button type="reset" class="btn btn-primary">Reset</button>
</div>
</form>
</div>
<!-- /.table-responsive -->
</div>
<!-- /.panel-body -->
</div>
</div>
</div>
<!-- /.panel-body -->
</div>
<!-- /.panel -->
</div>
<!-- /.col-lg-12 -->
</div>
</div>
<script src="../../bower_components/metisMenu/dist/metisMenu.min.js"></script>
<!-- DataTables JavaScript -->
<script src="../../bower_components/DataTables/media/js/jquery.dataTables.min.js"></script>
<script src="../../bower_components/datatables-plugins/integration/bootstrap/3/dataTables.bootstrap.min.js"></script>
<!-- Custom Theme JavaScript -->
<script src="../../dist/js/sb-admin-2.js"></script>
<script>
$(document).ready(function () {
$('#dataTables-example').DataTable({
responsive: true
});
});
</script>
</body>
</html>
。
B扩展A和C扩展B.
让我们把名字放在这些上,这样我们就能更好地理解。
人A, B, and C
扩展HumanBeing C
延伸哺乳动物B
但是我也有一些类,比如A
,它直接扩展了Mammal而没有扩展Person(似乎合法......我猜)。
Person扩展Cow
的唯一原因是因为在某些时候,在某个其他实体中,我需要一个链接到HumanBeing
的属性(由HumanBeing
继承,但也是其他类如Person
或FanOfJustinBieber
)。
实际上,PrometheusMovieScriptWriter
实体只是一个链接表,在我的梦想世界中它应该是:
HumanBeing
,Person
或FanOfJustinBieber
)没有任何继承,PrometheusMovieScriptWriter
直接延伸Person
,juste就像Mammal
。
但是我找不到告诉Doctrine的方法,我的班级Cow
需要一个鉴别器,并且需要有一个指向HumanBeing
,Person
和{{1}的属性而且,如果他们不再共享一个共同的扩展类(除了来自FanOfJustinBieber
,但由于有很多类扩展PrometheusMovieScriptWriter
,我想我不能使用这个)。 / p>
这是我想象的方案:
Mammal
Mammal
Person,Cow,FanOfJustinBieber -> Mammal
我很难找到HumanBeing类的声明,特别是Doctrine注释。
对于HumanBeing: {id, linked_id (Person, ...), discriminator}
,这似乎很简单(在SomeOtherEntity: {id, someAttribute, HumanBeing}
之上Person
); @MappedSuperClass()
(Mammal
)更容易。
非常感谢任何帮助!
谢谢:)