Как использовать левый пункт в учении? - PullRequest
0 голосов
/ 02 ноября 2018

это мой запрос для поиска всех записей в таблице и сортировки из самых старых. Я хочу ограничить один столбец только 50 символами. Я не могу найти информацию о том, как изменить этот запрос для использования в левом предложении.

    $posts = $ChocoPosts->findBy(array(), array('id' => 'DESC'));

Кроме того, я попытался использовать для этого чистый синтаксис sql, но он не показывает никаких записей.

 $conn = $this->getDoctrine()->getManager()->getConnection();
$sql = '
    SELECT id, title, left(content, 45), date_add, img
    FROM choco_posts
    ORDER BY id DESC
    ';
$stmt = $conn->prepare($sql);
$stmt->execute();

$stmt->fetchAll();

Я использую шаблон ветки муравья symfony4. Я отображаю все записи в ветке для цикла.

Ответы [ 2 ]

0 голосов
/ 02 ноября 2018

Вы можете:

  1. использовать фильтр среза веточки - https://twig.symfony.com/doc/2.x/filters/slice.html
  2. результаты на карте - http://php.net/manual/en/function.array-map.php
  3. или если вы хотите использовать объект, создайте метод с подстрокой
0 голосов
/ 02 ноября 2018

Вы можете просто использовать оператор SUBSTRING, например:

$sql = '
    SELECT id, title, SUBSTRING(content, 1, 45), date_add, img
    FROM choco_posts
    ORDER BY id DESC
    ';

Само по себе есть небольшая разница, однако оставленный может потенциально использовать индекс, а подстрока не может.

Надеюсь, эта помощь

...