Как выбрать одно изображение из списка результатов изображений? - PullRequest
1 голос
/ 07 января 2020

У меня есть таблица изображений для сообщений. Каждый пост может иметь несколько изображений. Я просто хочу получить одно из изображений для любого поста.

Вот чего я хочу добиться, используя vanilla PHP на MySQL:

SELECT disk_image_filename FROM Vehiclepostimages WHERE (vehicleposts_id = ' . $id . ') ORDER BY id ASC LIMIT 1

Но я не могу получить это работать в Laravel. Вот мой код в Laravel:

$image = Vehiclepostimages ::where([ 
            ['Vehicleposts_id', '=', $id],
        ])->value('disk_image_filename')->orderBy('id ASC')->get();

Ответы [ 3 ]

0 голосов
/ 07 января 2020

Значение возвращает первую запись, вам также не нужно использовать get ().

$image = Vehiclepostimages::where('Vehicleposts_id', $id)
              ->orderBy('id', 'ASC')
              ->value('disk_image_filename');
0 голосов
/ 21 марта 2020

Спасибо всем. Вот что наконец сработало:

/** Logic for getting a vehicle's top or first image data from the image table */
public function topImage($id)
{
    $image = Vehiclepostimages ::where('Vehicleposts_id', $id)
          ->orderBy('id', 'ASC')->first();

    return $image;
}
0 голосов
/ 07 января 2020

Ваш синтаксис для orderBy неверен.

$image = Vehiclepostimages::where('Vehicleposts_id', $id)
              ->value('disk_image_filename')
              // Takes two parameters. Default for 2nd is 'ASC'
              ->orderBy('id', 'ASC')
              ->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...