
Untitled
By: a guest on
Aug 12th, 2012 | syntax:
None | size: 1.01 KB | hits: 20 | expires: Never
Doctrine - Get row or rows from many results based on column value
$em = $this->getDoctrine()->getManager();
$query = $em->createQuery(
'SELECT u, p FROM MYUserBundle:User u
JOIN u.post p'
);
foreach($query->getResult() as $user){
//a bunch of posts related to this user
$posts = $user->getPosts();
}
$posts = $user->getPosts();
$post = $posts->findBySlug('my_slug');
//or something along those lines...
public function getPostsBySlug( $slug )
{
return $this->posts->filter( function( Post $post ) use ( $slug )
{
return $post->getSlug() == $slug;
} );
}
$posts = $user->getPostsBySlug( 'my_slug' );
$slug = 'my_slug';
array_filter($user->getPosts()->all(), function ($post) use ($slug) {
return $post->getSlug() == $slug;
})
namespace AcmeThingBundleRepository;
use DoctrineORMEntityRepository;
class PostRepository extends EntityRepository
{
public function getBySlug($slug)
{
/// your custom query here
return $q->getQuery()->getResult();
}
}