Как получить записи, которые содержат строки c в Laravel? - PullRequest
1 голос
/ 05 мая 2020

Я хотел бы получить запись о том, что в столбце есть определенные c строки. Моя Laravel структура - 5.7.28

Вот моя БД. Взгляните на «изображение» columun.

Например. Я хотел бы получить запись, в которой имя «изображения» включает строки «01». Я даю название всем данным изображения, эти две передние буквы - это числа, такие как «01», «02», «03» ....

Не могли бы вы научить меня, как писать код контроллера?

Вот мой текущий контроллер

public function index2()
    {            
        $images = ImageGallery::orderBy(DB::raw('LENGTH(image), image'))->paginate(10);
        return view('image-gallery2',compact('images'));
    }

enter image description here

1 Ответ

1 голос
/ 05 мая 2020

Используйте оператор like в сочетании с подстановочными знаками %. Этот оператор означает что-то похожее на 01, где все может идти после.

ImageGallery::orderBy(DB::raw('LENGTH(image), image'))
    ->where('image', 'like', '01%')
    ->paginate(10)

В качестве альтернативы вы можете использовать вызов функции LEFT в MySql, который берет n символов слева от строки.

->where(DB::raw('LEFT(image, 2)'), '01')
...