Page 1 sur 2
Récupérer dernières article findBy
Posté : 05 mai 2017, 10:42
par Connor
Bonjour à tous,
Sur ma page d'accueil je récupère tout mes articles mais j'aimerai que dans l'en tête j'ai une zone réservé pour afficher le dernier article.
N'étant pas forcément à l'aise avec doctrine, j'ai cherché les différentes façon de faire une requêtes avec ce que j'attends j'ai donc fait ceci
Code : Tout sélectionner
$la = $em->getRepository("Entities\Article")->findOneBy(array('id' => 'desc'));
Mais ça ne marche pas je comprends pas, je lui demande clairement que je fais une recherche du dernier article en prenant l'id par ordre desc no ?
Merci par avance pour votre aide.
Re: Récupérer dernières article findBy
Posté : 05 mai 2017, 11:57
par dunbar
Bonjour,
Comme ceci je pense
$la = $em->getRepository("Entities\Article")->findBy([], ['id' => 'DESC'], 1);
Ceci dit ton code est correct aussi

Re: Récupérer dernières article findBy
Posté : 05 mai 2017, 13:12
par Connor
Malheureusement non ça ne marche pas :p
Re: Récupérer dernières article findBy
Posté : 05 mai 2017, 13:17
par dunbar
C'est quoi l'erreur ?
Montre le code complet.
Re: Récupérer dernières article findBy
Posté : 05 mai 2017, 13:27
par Connor
pas vraiment d'erreur ma page s'affiche correctement je n'ai juste pas le nom de mon episode qui apparait. Alors que si je fais un :
Code : Tout sélectionner
$la = $em->getRepository("Entities\Article")->findOneByTitre('montitre');
ça fonctionne bien
Re: Récupérer dernières article findBy
Posté : 05 mai 2017, 13:50
par dunbar
Petite question tu as bien un getter pour l'id dans ton Entity ?
Re: Récupérer dernières article findBy
Posté : 05 mai 2017, 13:51
par Connor
Oui absolument
Re: Récupérer dernières article findBy
Posté : 05 mai 2017, 13:55
par dunbar
Que donne
un dump() dans ta vue ?
Re: Récupérer dernières article findBy
Posté : 05 mai 2017, 13:59
par Connor
array(1) { [0]=> object(Entities\Article)#96 (5) { ["id":protected]=> int(4) ["auteur":protected]=> string(15) "User 1" ["titre":protected]=> string(11) "Lorem ipsum" ["contenu":protected]=> string(739) "[..]" ["dateAjout":protected]=> string(19) "2017-05-05 10:26:06" } }
C'est pourtant bien ce que j'attends donc pourquoi il me l'affiche pas ?
Re: Récupérer dernières article findBy
Posté : 05 mai 2017, 14:04
par dunbar
erreur

Re: Récupérer dernières article findBy
Posté : 05 mai 2017, 14:05
par Connor
No du tout je fais ceci :
<h4>- N° {{ la.id }} - <br/>{{ la.titre }}</h4>
Re: Récupérer dernières article findBy
Posté : 05 mai 2017, 14:07
par dunbar
Montre le code de ton controlleur et ta vue ?
Re: Récupérer dernières article findBy
Posté : 05 mai 2017, 14:14
par Connor
class HomeController extends Controller
{
public function homeAction($id = false)
{
$em = $this->getDoctrine();
$articles = $em->getRepository("Entities\Article")->findAll();
$la = $em->getRepository("Entities\Article")->findBy([], ['id' => 'DESC'], 1);
$comment = $em->getRepository("Entities\Commentaire")->findAll();
return $this->render('home.html.twig',[
'articles' => $articles,
'comment' => $comment,
'la' => $la
]);
}
}
<body>
<div id="header" class="container-fluid">
<div id="item_header" class="container">
<div id="left_item" class="col-md-4">
<h4><a href="/">My Blog</a></h4>
</div>
<div id="item"class="col-md-8">
<ul>
<li><a href="/">Home</a></li>
<li><a href="/login">Login</a></li>
</ul>
</div>
</div>
<div id="la" class="container">
<h5>Le dernier épisode</h5>
<h4>- Episode {{ la.id }} - <br/>{{ la.titre }}</h4>
</div>
<div id="buttonMore" class="container">
<a href="/episode=" class="btnMore" role="button">Voir l'épisode</a>
</div>
</div>
<div class="container-fluid">
{% block content %}
{% endblock %}
</div>
Re: Récupérer dernières article findBy
Posté : 05 mai 2017, 14:18
par dunbar
Et ceci donne quoi ?
{% for l in la %}
<h4>- Episode {{ l.id }} - <br/>{{ l.titre }}</h4>
{% endfor %}
Comme tu récupère un tableau je pense que ça va aller beaucoup mieux

Re: Récupérer dernières article findBy
Posté : 05 mai 2017, 14:21
par Connor
ça marche en faisant ça ^^ mais je comprends pas, pourquoi faire une boucle sachant que j'en ai besoin que d'un ?