for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Rottenwood\KingdomBundle\Entity\Infrastructure;
use Rottenwood\KingdomBundle\Entity\InventoryItem;
/** {@inheritDoc} */
class InventoryItemRepository extends AbstractRepository
{
/**
* Все предметы в инвентаре игрока
* @param User $user
* @return InventoryItem[]
*/
public function findByUser(User $user)
return $this->findBy(['user' => $user]);
}
* Предмет с itemId в инвентаре игрока
* @param string $itemId
* @return InventoryItem|null
public function findOneByUserAndItemId(User $user, $itemId)
return $this->findOneBy(
[
'user' => $user,
'item' => $itemId,
]
);
* Поиск предмета по игроку и слоту
* @param string $slotName
public function findOneByUserAndSlot($user, $slotName)
$builder = $this->createQueryBuilder('inventory_item');
$builder->select('inventory_item');
$builder->where('inventory_item.user = :user');
$builder->andWhere('inventory_item.slot = :slotName');
$builder->setParameters(
'slotName' => $slotName,
return $builder->getQuery()->getOneOrNullResult();