mirror of
https://github.com/ToxicCrack/PrintABrick.git
synced 2025-05-16 12:20:09 -07:00
Add related models list
This commit is contained in:
parent
438497f5ca
commit
dd3bb0df17
@ -67,10 +67,13 @@ class ModelController extends Controller
|
||||
$rbParts = $model != null ? $em->getRepository(Part::class)->findAllByModel($model) : null;
|
||||
$sets = $model != null ? $em->getRepository(Set::class)->findAllByModel($model) : null;
|
||||
|
||||
$related = $em->getRepository(Model::class)->findAllRelatedModels($model->getNumber());
|
||||
|
||||
return $this->render('model/detail.html.twig', [
|
||||
'model' => $model,
|
||||
'rbParts' => $rbParts,
|
||||
'sets' => $sets,
|
||||
'related' => $related
|
||||
]);
|
||||
} catch (\Exception $e) {
|
||||
$this->addFlash('error', $e->getMessage());
|
||||
|
@ -3,6 +3,8 @@
|
||||
namespace AppBundle\Repository\LDraw;
|
||||
|
||||
use AppBundle\Entity\LDraw\Category;
|
||||
use AppBundle\Entity\LDraw\Model;
|
||||
use AppBundle\Entity\LDraw\Subpart;
|
||||
use AppBundle\Entity\Rebrickable\Set;
|
||||
use AppBundle\Entity\Rebrickable\Part;
|
||||
use AppBundle\Entity\LDraw\Alias;
|
||||
@ -55,4 +57,21 @@ class ModelRepository extends BaseRepository
|
||||
|
||||
return $queryBuilder->getQuery()->getResult();
|
||||
}
|
||||
|
||||
public function findAllRelatedModels($number)
|
||||
{
|
||||
$queryBuilder = $this->createQueryBuilder('model');
|
||||
|
||||
$queryBuilder
|
||||
->select('related')
|
||||
->join(Subpart::class, 'subpart', JOIN::WITH, 'model.number = subpart.subpart')
|
||||
->join(Subpart::class, 'parent', JOIN::WITH, 'subpart.parent = parent.parent')
|
||||
->join(Model::class, 'related', JOIN::WITH, 'related.number = parent.subpart')
|
||||
->where('model.number = :number')
|
||||
->setParameter('number', $number)
|
||||
->andWhere('related.number != :number')
|
||||
->distinct(true);
|
||||
|
||||
return $queryBuilder->getQuery()->getResult();
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user