mirror of
https://github.com/ToxicCrack/PrintABrick.git
synced 2025-05-20 14:10:11 -07:00
Add Author entity
This commit is contained in:
parent
8e4792a6c4
commit
4742e6eac8
@ -24,7 +24,7 @@
|
|||||||
<th>model</th><td>{{ model.path }}</td>
|
<th>model</th><td>{{ model.path }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>author</th><td>{{ model.author }}</td>
|
<th>author</th><td>{{ model.author.name }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
@ -59,11 +59,15 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h4 class="ui horizontal divider header">
|
<h4 class="ui horizontal divider header">
|
||||||
Subparts of this model
|
Related Models
|
||||||
</h4>
|
</h4>
|
||||||
|
|
||||||
|
|
||||||
|
<h5 class="ui horizontal divider header">
|
||||||
|
Subparts of this model
|
||||||
|
</h5>
|
||||||
|
|
||||||
<div class="ui eight column grid">
|
<div class="ui eight column grid">
|
||||||
{% for subpart in model.subparts %}
|
{% for subpart in model.subparts %}
|
||||||
<div class="column">
|
<div class="column">
|
||||||
@ -72,9 +76,9 @@
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h4 class="ui horizontal divider header">
|
<h5 class="ui horizontal divider header">
|
||||||
Model is subpart of
|
Model is subpart of
|
||||||
</h4>
|
</h5>
|
||||||
|
|
||||||
<div class="ui eight column grid">
|
<div class="ui eight column grid">
|
||||||
{% for subpart in model.parents %}
|
{% for subpart in model.parents %}
|
||||||
@ -84,10 +88,9 @@
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<h5 class="ui horizontal divider header">
|
||||||
<h4 class="ui horizontal divider header">
|
Model pairs with
|
||||||
Related
|
</h5>
|
||||||
</h4>
|
|
||||||
|
|
||||||
<div class="ui eight column grid">
|
<div class="ui eight column grid">
|
||||||
{% for subpart in related %}
|
{% for subpart in related %}
|
||||||
|
@ -41,6 +41,13 @@ services:
|
|||||||
arguments:
|
arguments:
|
||||||
- AppBundle\Entity\LDraw\Alias
|
- AppBundle\Entity\LDraw\Alias
|
||||||
|
|
||||||
|
repository.ldraw.author:
|
||||||
|
class: Doctrine\ORM\EntityRepository
|
||||||
|
factory: ["@doctrine", getRepository]
|
||||||
|
arguments:
|
||||||
|
- AppBundle\Entity\LDraw\Author
|
||||||
|
|
||||||
|
|
||||||
repository.rebrickable.category:
|
repository.rebrickable.category:
|
||||||
class: Doctrine\ORM\EntityRepository
|
class: Doctrine\ORM\EntityRepository
|
||||||
factory: ["@doctrine", getRepository]
|
factory: ["@doctrine", getRepository]
|
||||||
|
34
src/AppBundle/Entity/LDraw/Author.php
Normal file
34
src/AppBundle/Entity/LDraw/Author.php
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace AppBundle\Entity\LDraw;
|
||||||
|
|
||||||
|
use AppBundle\Entity\Traits\IdentityTrait;
|
||||||
|
use AppBundle\Entity\Traits\UniqueNameTrait;
|
||||||
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Author.
|
||||||
|
*
|
||||||
|
* @ORM\Table(name="ldraw_author")
|
||||||
|
* @ORM\Entity(repositoryClass="AppBundle\Repository\LDraw\AuthorRepository")
|
||||||
|
*/
|
||||||
|
class Author
|
||||||
|
{
|
||||||
|
use IdentityTrait;
|
||||||
|
use UniqueNameTrait;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var Author
|
||||||
|
*
|
||||||
|
* @ORM\OneToMany(targetEntity="AppBundle\Entity\LDraw\Model", mappedBy="author")
|
||||||
|
*/
|
||||||
|
private $models;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return Author
|
||||||
|
*/
|
||||||
|
public function getModels()
|
||||||
|
{
|
||||||
|
return $this->models;
|
||||||
|
}
|
||||||
|
}
|
@ -5,7 +5,6 @@ namespace AppBundle\Entity\LDraw;
|
|||||||
use AppBundle\Entity\Traits\NumberTrait;
|
use AppBundle\Entity\Traits\NumberTrait;
|
||||||
use Doctrine\Common\Collections\ArrayCollection;
|
use Doctrine\Common\Collections\ArrayCollection;
|
||||||
use Doctrine\Common\Collections\Collection;
|
use Doctrine\Common\Collections\Collection;
|
||||||
use Doctrine\Common\Collections\Criteria;
|
|
||||||
use Doctrine\ORM\Mapping as ORM;
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -68,9 +67,9 @@ class Model
|
|||||||
private $path;
|
private $path;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var Author
|
||||||
*
|
*
|
||||||
* @ORM\Column(type="string", length=255, nullable=true)
|
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\LDraw\Author", cascade={"persist"}, inversedBy="models")
|
||||||
*/
|
*/
|
||||||
private $author;
|
private $author;
|
||||||
|
|
||||||
@ -116,7 +115,7 @@ class Model
|
|||||||
/**
|
/**
|
||||||
* Set author.
|
* Set author.
|
||||||
*
|
*
|
||||||
* @param string $author
|
* @param Author $author
|
||||||
*
|
*
|
||||||
* @return Model
|
* @return Model
|
||||||
*/
|
*/
|
||||||
@ -130,7 +129,7 @@ class Model
|
|||||||
/**
|
/**
|
||||||
* Get author.
|
* Get author.
|
||||||
*
|
*
|
||||||
* @return string
|
* @return Author
|
||||||
*/
|
*/
|
||||||
public function getAuthor()
|
public function getAuthor()
|
||||||
{
|
{
|
||||||
@ -270,7 +269,6 @@ class Model
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Subpart $subpart
|
* @param Subpart $subpart
|
||||||
*
|
*
|
||||||
|
31
src/AppBundle/Repository/LDraw/AuthorRepository.php
Normal file
31
src/AppBundle/Repository/LDraw/AuthorRepository.php
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace AppBundle\Repository\LDraw;
|
||||||
|
|
||||||
|
use AppBundle\Entity\LDraw\Author;
|
||||||
|
use AppBundle\Repository\BaseRepository;
|
||||||
|
|
||||||
|
class AuthorRepository extends BaseRepository
|
||||||
|
{
|
||||||
|
public function findOneByName($name)
|
||||||
|
{
|
||||||
|
return $this->findOneBy(['name' => $name]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get existing entity or create new.
|
||||||
|
*
|
||||||
|
* @param $name
|
||||||
|
*
|
||||||
|
* @return Author
|
||||||
|
*/
|
||||||
|
public function getOrCreate($name)
|
||||||
|
{
|
||||||
|
if (($author = $this->findOneByName($name)) == null) {
|
||||||
|
$author = new Author();
|
||||||
|
$author->setName($name);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $author;
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user