Я использую Laravel 5.7, и мне было интересно, как правильно ограничить количество слов, а не символов, в описании, которое я извлекаю из базы данных и выводлю в Blade / view.
В настоящее время у меня есть эта работа, добавив следующее в мой файл Blade (обратите внимание, класс Str находится в Blade / view):
@php use Illuminate\Support\Str; @endphp
{!! (nl2br(e(Str::words($test->testimonial, '25')))) !!}
Вышеприведенное ограничивает мой абзац 25 словами,но я понимаю, что, вероятно, мне следует использовать класс Str в моем контроллере, а не Blade.
Когда я добавляю use Illuminate\Support\Str;
в моем контроллере, а не Blade, я получаю ошибку, что Str отсутствует.
Контроллер
use App\Testimonial;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
...
public function index()
{
$testimonial = Testimonial::all();
return view('testimonials.index',compact('testimonial'));
}
Как я могу использовать класс Str в контроллере вместо Blade?